我们在解决方案和项目中使用标准 NuGet.targets 文件在构建时进行包更新和包创建。
现在的问题是:当我们像这样构建解决方案时:
msbuild MySolution.sln /P:Configuration=Release;BuildPackage=true;PackageOutputDir="..\CreatedPackages"
Run Code Online (Sandbox Code Playgroud)
然后 NuGet.targets 文件会为我们的解决方案中的所有项目构建包。因此,我们实际上最终也为我们的单元测试和集成测试项目提供了 Nuget 包,这是我们不想要的。
在这些项目中无条件设置属性<BuildPackage>false</BuildPackage>没有帮助,因为属性已经通过命令行设置,之后无法更改。我不想更改该nuget.targets文件。
所以问题是:如何防止解决方案中的特定项目创建包,而其他项目应该构建其包?
通过在文件中提供<IsPackable>属性值,您可以忽略该项目,以免打包为 nuget 包false.csproj
<IsPackable>true</IsPackable>- 创建包
<IsPackable>false</IsPackable>- 不创建包
.csproj以下是您的文件的示例副本
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<PublishRepositoryUrl>false</PublishRepositoryUrl>
<IsPackable>false</IsPackable>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2135 次 |
| 最近记录: |