【发布时间】:2019-04-27 12:02:24
【问题描述】:
我正在尝试向我们的 CI 流程添加一个步骤,该步骤是一个 powershell 脚本,它会在上一步构建之后自动为 .NET 标准 2.0 项目打包和推送一个 nuget 包。我使用的原始命令是:
dotnet pack $project.csproj -c $configuration -p:PackageVersion=$version
这给了我想要的确切项目输出。如此处所示: dotnet pack without nuspec specified.
但是,在我们之前的 nuget 包中,我们有重要的 nuspec 文件,即使它与项目文件在同一目录中,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。
- 有没有办法从第一个命令和 第二个命令中指定的 nuspec 文件纯粹通过 dotnet pack 命令?我试过了 --no-build 和详细的详细日志记录以获取更多信息,但到目前为止还没有运气。
- 是否有替代 nuspec 文件可以达到相同效果的替代方法,例如在项目文件中指定更多信息并完全删除 nuspec 文件?
谢谢!
【问题讨论】:
标签: .net-core nuget .net-standard .net-standard-2.0