我已将自定义代码包含到csproj文件中,该文件在构建时压缩整个项目。我想在压缩时从csproj文件中排除我的自定义MSBuild代码。怎么做?
答案 0 :(得分:1)
您可以在运行csproj时直接调用您的压缩目标
msbuild your.csproj /target:yourZipTarget
如果你需要控制正常构建的压缩/非压缩,你可以在你的压缩目标中添加condition
<Target Name="yourZipTarget" Condition="'$(Configuration)'!='DEBUG'">
<!-- zipping... -->
</Target>
上面的示例仅在执行RELEASE构建时运行压缩(除非您没有引入其他自定义配置)。
您可以为压缩条件声明自己的项目级属性,并在调用msbuild时指定(并覆盖默认值)
msbuild your.csproj /property:DoZip=true
<PropertyGroup>
<DoZip Condition=" '$(DoZip)' == '' ">false</DoZip>
</PropertyGroup>
<Target Name="yourZipTarget" Condition="'$(DoZip)'!='false'">
<!-- zipping... -->
</Target>
答案 1 :(得分:0)
那么有几个选项
1 - 将自定义邮政编码移出项目
2 - 您拥有邮政编码以便更改
3 - 使用msbuild语法从ItemGroup中排除文件
很难说没有看到MSBuild项目文件并理解“我已经将自定义代码添加到csproj文件中”的意思,最适合您的解决方案是什么。