5

CallTarget ディレクティブで使用できるように、msbuild でプロパティを作成するにはどうすればよいですか?

基本的に、プロパティがパラメーターとして機能するターゲット「サブルーチン」を呼び出そうとしています。

プロパティを作成しようとするおもちゃのcsprojファイルを作成してから、それをエコーするターゲットを呼び出してみました。ヌルをエコーし​​ます。

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Target Name="Test">
    <CreateProperty Value="AAA">
        <Output TaskParameter="Value" PropertyName="Foo" />
    </CreateProperty>
    <CallTarget Targets="Test2" />
  </Target>
  <Target Name="Test2">
    <Message Text="Target Test2: Foo=$(Foo)" />
  </Target>
</Project>

実行中のmsbuild TestProj.csproj /t:Test出力:

Test:
  Target Test: Foo=AAA
Test2:
  Target Test2: Foo=

問題は、私が msbuild を命令的な方法で考えていることだと思います (これは明らかに一般的な間違いです)。そのため、msbuild の動作に関する非常に根本的な誤解のように見えるものを誰かが修正できることを願っています。

4

2 に答える 2

0

なんてこった。これは明らかに msbuild のバグですか?

プロパティを MSBuild で上書きする

http://weblogs.asp.net/bhouse/archive/2006/03/20/440648.aspx

編集:または、これは機能ですか?https://stackoverflow.com/a/7539455

于 2012-05-14T11:28:26.737 に答える