次の名前の簡単なmsbuildスクリプトを確認してください1.targets
。
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="PrintInfo">
<PropertyGroup>
<x Condition="'$(x)' == ''">hello</x>
</PropertyGroup>
<Target Name="PrintInfo">
<Message Text="x = $(x)" Importance="High" />
</Target>
</Project>
今私はそれをテストしています:
C:\temp> msbuild .\1.targets /v:m /nologo
x = hello
C:\temp> msbuild .\1.targets /v:m /nologo /p:x=bye
x = bye
C:\temp> msbuild .\1.targets /v:m /nologo /p:x=""
x =
C:\temp> msbuild .\1.targets /v:m /nologo /p:x=
x =
C:\temp>
空の値を渡す'$(x)' == ''
と条件が満たされず、出力されないのはなぜhello
ですか?
ルートノードに追加することで、グローバルプロパティを変更可能にすることができTreatAsLocalProperty="x"
ます。
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" TreatAsLocalProperty="x">
</Project>
msbuild C:\ Go.build / v:m / nologo / p:x =
生産します
x =こんにちは
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加