我知道使用
dotnet pack
旨在创建 NuGet 包,而 dotnet publish
旨在创建可部署的 DLL/EXE。但是,在 .csproj 文件中使用 GeneratePackageOnBuild
属性也会在调用 publish
时从构建中创建 NuGet 包。所以我的两个问题是:
dotnet pack
而不是仅仅将 GeneratePackageOnBuild
设置为 True
?dotnet publish
进行所有操作并在不需要时忽略非包输出是否有任何缺点?
上下文:我正在使用插件架构,并使用
publish
创建插件的可部署版本。对于 GeneratePackageOnBuild
并发布作为 publish
的一部分生成的包,但还没有出现任何问题。
是否有任何理由专门调用 dotnet pack 而不是仅仅将GeneratePackageOnBuild 设置为 True?
速度。在开发和测试期间,您可能会进行许多构建。如果不需要包,则打包每个构建是不必要的步骤。
对所有内容使用 dotnetpublish 并在不需要时忽略非包输出有什么缺点吗?
如果你只需要包,为什么还需要发布?发布可以为您创建包作为副产品,但为什么不使用正确的工具来完成工作并避免不必要的工作呢?