2009-03-04 11 views
3

カスタムタスクからmsbuildプロパティの値にアクセスする方法はありますか?私はそれらをすべて送ることができることを知っていますが、そうでないのはうれしいことです:)これをtfsビルドからやろうとしています。カスタムタスクからmsbuildプロパティの値を取得する方法は?

現在実行中の「ビルドスクリプト」にアクセスする方法はありますか?たぶんオブジェクトモデルのように、そこから私が必要なものを手に入れますか?

答えて

2

これは仕事をするはずです。

public override bool Execute() 
    { 
    string projectFile = BuildEngine.ProjectFileOfTaskNode; 

    Engine buildEngine = new Engine(System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory()); 

    Project project = new Project(buildEngine); 
    project.Load(projectFile); 
    foreach(var o in project.EvaluatedProperties) 
    { 
     // Use properties 
    } 

    return true; 
    } 
+0

これは役に立ちましたが、新しいエンジンを作成する必要がありました。 BuildEngineプロパティにはEngineProxyしか含まれていませんでした。EngineProxyはエンジンに対応できませんでした。だから私はちょうど$(何か)を出した。提案? :) – Oddleif

+0

キャストできませんケース、ケースではありません。 – Oddleif

+0

私の答えは編集され、このソリューションは私のために働く。 –

関連する問題