我有一个目标作为我的构建的一部分,我希望在评估某些命令行检查时跳过它:
<Target Name="RunSomeDependencyVerification" Condition="!Exists('$(SkipVerification)')">
....
我想从控制台传递跳过验证,以便:
msbuild mybuild.dev.proj /p:SkipVerification
我的构建脚本抱怨“SkipVerification”属性未定义。我找到了
<PropertyGroup />
的文档,但似乎不仅定义了属性,还设置了值,这不是我想要的。
我错过了什么?
在原始 msbuild 文件中使用默认值定义属性。
<PropertyGroup>
<SkipVerification Condition="'$(SkipVerification)'==''">False</SkipVerification>
</PropertyGroup>
我认为您对“Exists”检查的使用已关闭..(又名,好听的说:对于您想要做的事情来说,这是错误的语法糖。) 我想您想检查一下您的财产的价值。如下所示:(没有使用“存在”:))
<Target Name="RunSomeDependencyVerification" Condition="'$(SkipVerification)'=='True'">
然后这个。
/p:Configuration=Debug;SkipVerification=True
请注意:
配置=调试;是不是您需要的一部分,我只是想展示如何在命令行中指定多个属性。 (您使用“;”分隔符)
Msbuild 说
SkipVerification
未定义,因为它不是:Exists
适用于文件或目录,而不适用于属性。试试这个:
msbuild mybuild.dev.proj /p:SkipVerification=true
然后检查值:
<Target Name="RunSomeDependencyVerification"
Condition="'$(SkipVerification)'!='true')">