3
有沒有一些方法可以從自定義任務訪問msbuild屬性的值?我知道我可以將它們全部發送出去,但是不要試圖從tfs構建中實現這一點。如何從自定義任務獲取msbuild屬性的值?
或者是否有一些方法可以訪問當前正在運行的「構建腳本」?也許就像一個對象模型,從那裏得到我需要的東西?
有沒有一些方法可以從自定義任務訪問msbuild屬性的值?我知道我可以將它們全部發送出去,但是不要試圖從tfs構建中實現這一點。如何從自定義任務獲取msbuild屬性的值?
或者是否有一些方法可以訪問當前正在運行的「構建腳本」?也許就像一個對象模型,從那裏得到我需要的東西?
這應該做的工作。
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;
}
這有幫助,但我不得不創建一個新的引擎。 BuildEngine屬性只包含一個EngineProxy,我無法對引擎進行處理......而且當我創建了一個新的引擎而非屬性vas評估的引擎時。所以我剛剛拿出$(某物)。建議? :) – Oddleif 2009-03-04 09:53:34