指定nuspec文件

时间:2018-11-25 19:18:15

标签: .net-core nuget .net-standard .net-standard-2.0

我正在尝试向CI流程添加一个步骤,它是一个Powershell脚本,在上一步构建后,它将自动打包并推送.NET标准2.0项目的nuget程序包。我使用的原始命令是:

dotnet pack $project.csproj -c $configuration -p:PackageVersion=$version

这给了我想要的确切项目输出。如此处所示: dotnet pack without nuspec specified.

但是,在我们之前的nuget软件包中,我们具有重要的nuspec文件,即使dotnet pack与项目文件位于同一目录中,默认情况下dotnet pack也不会选择它,它将生成一个默认文件。为了解决这个问题,我发现您可以指定nuspec文件并将命令更新为:

dotnet pack $project.csproj -c $configuration -p:PackageVersion=$version -p:NuspecFile=$project.nuspec

这现在可以正确添加所需的nuspec文件,但是现在nupkg包含了没有lib文件夹的不需要的内容,它似乎是构建项目的输出。如此处所示:dotnet pack with nuspec file specified

  1. 有没有办法从第一个命令获取所需的输出,并且 仅通过dotnet pack命令在第二个命令中指定的nuspec文件?我试过了 --no-build和详细的详细日志记录以获取更多信息,但到目前为止还没有运气。
  2. 是否有nuspec文件的替代方法可以达到相同的效果,例如在项目文件中指定更多信息并完全删除nuspec文件?

谢谢!

1 个答案:

答案 0 :(得分:0)

我可以通过简单地拒绝使用nuspec文件来解决此问题。所需的一切都可以在csproj中完成,该程序可以毫无问题地转换为dotnet pack生成的nuspec文件。