首页 > 解决方案 > teamcity 和 dotnet pack 的最佳实践

问题描述

我有一个带有一堆项目的 .sln。其中一些是网络标准,一些是网络框架,一些是单元测试(也有核心和框架之间的混合和匹配)。

我试图找出让 Teamcity 了解应该打包哪些 csproj 的最佳方法,哪些不应该打包。现在我们只dotnet pack在解决方案级别使用。这会导致 XXX.Tests 打包——我不希望这样。

我们的构建工程师建议传递要从 Teamcity 打包的项目列表,并将其存储为 Teamcity 配置的一部分。我不喜欢这样,并希望将此信息存储在源代码中。

这方面的最佳做法是什么?

标签: .net.net-coreteamcity

解决方案


您可以使用IsPackable.csproj 的属性。从文档中,IsPackable是:

一个布尔值,指定项目是否可以打包。默认值是true。

因此,只需将以下内容添加到您的 .csproj 文件中即可:

<PropertyGroup>
    <IsPackable>false</IsPackable>
</PropertyGroup>

您不必将其放在自己的 PropertyGroup元素中 - 如果您愿意,可以简单地将其添加到现有元素中。


推荐阅读