MSBuildにプロパティを渡そうとしています。このプロパティはセミコロンで区切られた値のリストです。 this questionとは異なり、私はPowerShellからMSBuildを実行しています。PowerBuilderからコマンドラインを実行するときに、MSBuildコマンドラインにセミコロンを含むプロパティ値を渡すにはどうすればよいですか?
私が取得:
PS> msbuild .\Foo.sln /p:PackageSources="\\server\NuGet;E:\NuGet"
MSBUILD : error MSB1006: Property is not valid.
Switch: E:\NuGet
私はコマンドプロンプトから同じコマンドを実行すると、それが正常に動作します。 PowerShellでどのように動作させるには?単一引用符で
セミコロンの前にバックスティックのエスケープ文字(" ")を使用してみてください。おそらく、その文字列内の他の文字も同様です。 – David
Backtickが機能しません - 問題はMSBuildが/ p:PropA = ValA; PropB = ValBを想定していることです。セミコロンはPowerBuilderからではなく、MSBuildから「エスケープ」する必要があります。引用符を追加するとこれを修正するはずですが、PoShはコマンドラインを渡すときに引用符を引いてしまいます。 –