使用“dotnet pack”和“GeneratePackageOnBuild”之间的区别?

问题描述 投票:0回答:1

我知道使用

dotnet pack
旨在创建 NuGet 包,而
dotnet publish
旨在创建可部署的 DLL/EXE。但是,在 .csproj 文件中使用
GeneratePackageOnBuild
属性也会在调用
publish
时从构建中创建 NuGet 包。所以我的两个问题是:

  • 是否有任何理由专门调用
    dotnet pack
    而不是仅仅将
    GeneratePackageOnBuild
    设置为
    True
  • 使用 dotnet publish 进行所有操作并在不需要时忽略非包输出是否有任何
    缺点

上下文:我正在使用插件架构,并使用

publish
创建插件的可部署版本。对于 ,我还希望这些插件可以在我们的私有 Azure NuGet 源上使用。目前我正在使用
GeneratePackageOnBuild
并发布作为
publish
的一部分生成的包,但还没有出现任何问题。

.net .net-core msbuild nuget
1个回答
0
投票

是否有任何理由专门调用 dotnet pack 而不是仅仅将GeneratePackageOnBuild 设置为 True?

速度。在开发和测试期间,您可能会进行许多构建。如果不需要包,则打包每个构建是不必要的步骤。

对所有内容使用 dotnetpublish 并在不需要时忽略非包输出有什么缺点吗?

如果你只需要包,为什么还需要发布?发布可以为您创建包作为副产品,但为什么不使用正确的工具来完成工作并避免不必要的工作呢?

© www.soinside.com 2019 - 2024. All rights reserved.