我正在尝试向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。
谢谢!
答案 0 :(得分:0)
我可以通过简单地拒绝使用nuspec文件来解决此问题。所需的一切都可以在csproj中完成,该程序可以毫无问题地转换为dotnet pack生成的nuspec文件。