msbuild/xbuildのコマンドの出力にプロパティを設定するにはどうすればよいですか
-
30-09-2019 - |
質問
MSBUILD/XBUILDでは、コマンドラインでovveriddenを使用できる「libpath」プロパティを持ちたいと思います。 /p:libpath="/path/to/all/libs"
. 。しかし、このプロパティが定義されていないとき、私は電話したい pkg-config --retrieve-Path somePackage
現在のシステムパスを取得します。
私はそうだと思った ここ コマンドの出力をプロパティに保存する必要があります。
コマンドは常に1行の出力を返します。
私はようなものを試しました
<PropertyGroup>
<LibPath />
</PropertyGroup>
<Task ....>
<Exec Command="pkg-config --retrieve-Path somePackage"
Condition="$(LibPath)' == ''">
<OutputTaskParameter="output"
PropertyName="LibPath" />
</Exec>
</Task>
しかし、それはうまくいきませんでした。
解決
execタスクは、実行するツールまたはコマンドから出力を収集できないため、execを使用してそれを行うことはできません。
PKG-Configを呼び出してこの出力をプロパティで収集するカスタムMSBuildタスクを作成する必要があります。
他のヒント
これを達成する方法についていくつかのアイデアがありました。
XBuild/MSBuildカスタムタスクを作成して、特定のコマンドを単純に実行し、出力を使用可能にしました。
結果を表示できます ここ.
所属していません StackOverflow