2016-12-02 72 views
0

我目前正在更新TFS中的構建定義,並且我需要找到需要在我們的解決方案中構建的項目。這是通過將文件添加到項目並將其用作標誌來完成的。目前,這是像這樣做:MatchFattern在TFS構建定義中導致MSBUILD:錯誤MSB1008:只能指定一個項目

<mtbwa:FindMatchingFiles 
     DisplayName="Find ClickOnce Projects" 
     sap2010:WorkflowViewState.IdRef="FindMatchingFiles_2" 
     MatchPattern="[String.Format(&quot;{0}\**\ProjectToBuild.txt&quot;, Path.GetDirectoryName(localProject))]" 
     Result="[ClickOnceFlags]" /> 

當我們在不同的項目和不同的構建模板文件不同的標誌不同的版本。我想從MatchPattern屬性中刪除「ProjectToBuild.txt」,並添加一個名爲FlagName的變量,該變量在定義構建定義時設置。這樣,我們使用相同的構建模板文件來實現多個構建定義。

這是結果:

<mtbwa:FindMatchingFiles 
     DisplayName="Find ClickOnce Projects" 
     sap2010:WorkflowViewState.IdRef="FindMatchingFiles_2" 
     MatchPattern="[String.Format(&quot;{0}\**\{1}&quot;, Path.GetDirectoryName(localProject), FlagFileName)]" 
     Result="[ClickOnceFlags]" /> 

我在字符串格式更改文件名{1},並添加了一個名爲FlagFileName到構建模板文件變量。

<x:Property Name="FlagFileName" Type="InArgument(x:String)" /> 

爲了測試這一點,我只需將FlagFileName變量「ProjectToBuild.txt」,並試圖運行的版本,因爲之前應有相同的結果。但相反,它不能完成構建,引用

MSBUILD : error MSB1008: Only one project can be specified. 

任何人都可以告訴我這裏出了什麼問題嗎?

+0

ProjectToBuild.txt中的詳細值是什麼?在OneDrive上共享您的構建過程模板文件,我將進行測試以檢查它。 –

+0

你解決了這個問題嗎?如果沒有,您可以在OneDrive上共享您的構建過程模板文件嗎? –

+0

嘿starain,我很抱歉,但我不允許在這裏發佈構建文件。儘管我們最終確定了錯誤,但它與上面的命令沒有任何關係,它與我們構建過程中使用的某個程序沒有響應,因爲它應該以測試版本運行。這就是爲什麼我們沒有在第一次趕上:) –

回答

0

我們最終修復了錯誤,但它與上面的命令沒有任何關係,它與我們在構建過程中使用的程序之一沒有響應,因爲它應該以測試版本。

更確切地說,我們試圖測試一個使用我們構建的定製程序的部署方法。我們沒有檢查該程序,實際上它使用該標誌來確定程序版本(這只是使用測試版本時的一個問題)。這導致了一個不一致的版本,這導致了問題的進一步惡化。

相關問題