可移植类库中的Nuget:值不能为null或空字符串。参数名称:profileValue 我所拥有的

可移植类库中的Nuget:值不能为null或空字符串。参数名称:profileValue 我所拥有的,nuget,portable-class-library,.net-4.6,nuspec,Nuget,Portable Class Library,.net 4.6,Nuspec,我有一个可移植类库MyProj.Backend.Contracts.csproj,包含以下内容 project.json: { "supports": { "net46.app": {}, "uwp.10.0.app": {}, "dnxcore50.app": {} }, "dependencies": { "Microsoft.NETCore": "5.0.0", "Microsoft.NETCore.Portable.Compatibil

我有一个可移植类库
MyProj.Backend.Contracts.csproj
,包含以下内容

project.json:

{
  "supports": {
    "net46.app": {},
    "uwp.10.0.app": {},
    "dnxcore50.app": {}
  },
  "dependencies": {
    "Microsoft.NETCore": "5.0.0",
    "Microsoft.NETCore.Portable.Compatibility": "1.0.0",
    "NuSpec.ReferenceGenerator": "1.4.2"
  },
  "frameworks": {
    "dotnet": {
      "imports": "portable-net452+win81"
    }
  }
}
和nuspec:

<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
  <metadata>
    <id>MyProj.Backend.Contracts</id>
    <version>1.0.0</version>
    <dependencies>
      <group targetFramework="dotnet">
        <dependency id="System.Resources.ResourceManager" version="4.0.0" />
        <dependency id="System.Runtime" version="4.0.20" />
      </group>
  </metadata>
</package>

我需要什么
如何修改my.nuspec,以便从我的PCL库项目创建包?

这是新的project.json和指定依赖项的问题。错误消息非常糟糕,但这里有一些关于如何使其工作的指导:

简单的答案似乎是使用Nuget包nuspec.referencegenerator为您正确填写nuspec文件


只是补充以下评论;对于Nuget 3.3(尚未使用3.4或更高版本进行测试),混合csproj和project.json文件似乎不起作用(或者它只适用于场景的子集)。如果要使用project.json,似乎需要对代码文件使用新的json项目格式,反之亦然,恢复到标准的nuspec和csproj组合。

我尝试添加此软件包,并使用我的nuspec玩了一会儿,但仍然收到相同的错误nuspec.referencegenerator不应该使csproj打包工作。它有助于在每个构建中或通过命令行向nuspec添加依赖项,而在最近的3.4版本中,情况可能已经发生了变化,尝试将project.json与csproj一起使用似乎真的不起作用。我尝试了一个跨平台的包,并恢复到csproj和nuspec方法。据我所知,如果您想使用project.json,那么您的代码文件也需要使用新的项目格式。
 nuget pack MyProj.Backend.Contracts.csproj
  Attempting to build package from 'MyProj.Backend.Contracts.csproj'.
  Packing files from 'C:\Projects\MyProj\Backend\Contracts\Dev\bin\Contracts'.
  Using ''MyProj.Backend.Contracts.csproj.nuspec' for metadata.
  Value cannot be null or an empty string.
  Parameter name: profileValue