【问题标题】:dotnet pack build folders output instead of lib folder when specifying nuspec file指定 nuspec 文件时,dotnet pack 构建文件夹输出而不是 lib 文件夹
【发布时间】: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

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

谢谢!

【问题讨论】:

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


    【解决方案1】:

    我能够通过简单地弃用对 nuspec 文件的需求来解决此问题。所需的一切都可以在 csproj 中完成,它可以毫无问题地转换为 dotnet pack 生成的 nuspec 文件。

    【讨论】:

      猜你喜欢
      • 2017-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多