teamcity 和 dotnet pack 的最佳实践
Best practices for teamcity and dotnet pack
我有一个包含大量项目的 .sln。其中一些是netstandard,一些是net framework,一些是单元测试(也有核心和框架之间的混合和匹配)。
我正在尝试找出让 Teamcity 了解哪些 csproj 应该打包,哪些不应该打包的最佳方式。现在我们只在解决方案级别使用 dotnet pack
。这导致打包 XXX.Tests — 我不想要那个。
我们的构建工程师建议传递要从 Teamcity 打包的项目列表,并将其存储为 Teamcity 配置的模式。我不喜欢那样,并希望将此信息存储在源代码中。
这方面的最佳做法是什么?
您可以使用 .csproj 的 IsPackable
属性。来自docs,IsPackable
是:
A Boolean value that specifies whether the project can be packed. The default value is true.
因此,只需将以下内容添加到您的 .csproj 文件即可:
<PropertyGroup>
<IsPackable>false</IsPackable>
</PropertyGroup>
您不必将它放在它的 自己的 PropertyGroup
元素中 - 如果您愿意,您可以简单地将它添加到现有元素中。
我有一个包含大量项目的 .sln。其中一些是netstandard,一些是net framework,一些是单元测试(也有核心和框架之间的混合和匹配)。
我正在尝试找出让 Teamcity 了解哪些 csproj 应该打包,哪些不应该打包的最佳方式。现在我们只在解决方案级别使用 dotnet pack
。这导致打包 XXX.Tests — 我不想要那个。
我们的构建工程师建议传递要从 Teamcity 打包的项目列表,并将其存储为 Teamcity 配置的模式。我不喜欢那样,并希望将此信息存储在源代码中。
这方面的最佳做法是什么?
您可以使用 .csproj 的 IsPackable
属性。来自docs,IsPackable
是:
A Boolean value that specifies whether the project can be packed. The default value is true.
因此,只需将以下内容添加到您的 .csproj 文件即可:
<PropertyGroup>
<IsPackable>false</IsPackable>
</PropertyGroup>
您不必将它放在它的 自己的 PropertyGroup
元素中 - 如果您愿意,您可以简单地将它添加到现有元素中。