gpt4 book ai didi

msbuild - 为解决方案中的单个项目禁用 NuGet BuildPackage

转载 作者:行者123 更新时间:2023-12-01 22:34:40 30 4
gpt4 key购买 nike

我们在我们的解决方案和项目中使用标准的 NuGet.targets 文件在构建时进行包更新和包创建。

现在的问题是:当我们像这样构建解决方案时:

msbuild MySolution.sln /P:Configuration=Release;BuildPackage=true;PackageOutputDir="..\CreatedPackages"

然后 NuGet.targets 文件开始运行并为我们解决方案中的所有 项目构建包。因此,我们实际上最终也为我们的单元和集成测试项目提供了 Nuget 包,这是我们不想要的。

设置属性 <BuildPackage>false</BuildPackage>无条件地在这些项目中没有帮助,因为该属性已经由命令行设置并且之后无法更改。我不想更改 nuget.targets文件。

所以问题是:如何防止在解决方案中为特定项目创建包,而其他项目应该构建它们的包?

最佳答案

通过提供 <IsPackable>属性值为 false在你的.csproj文件你可以忽略该项目不打包为 nuget 包

<IsPackable>true</IsPackable> - 创建包

<IsPackable>false</IsPackable> - 不要创建包

以下是您的 .csproj 的样本副本文件

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<PublishRepositoryUrl>false</PublishRepositoryUrl>
<IsPackable>false</IsPackable>
</PropertyGroup>

关于msbuild - 为解决方案中的单个项目禁用 NuGet BuildPackage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26061732/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com