2013-04-23 89 views
2

經過大量編輯我的構建模板(我在2012年重新創建它們以避免任何問題..但後來我想我sl and and and,只需從舊工作流中複製/粘貼整個模塊,並且我認爲這必須徹底摧毀我的版本)。現在,我只基於編輯的構建模板創建一個構建定義時遇到問題。 (所有其他的似乎工作正常..所以我想在編輯過程中遇到問題(我主要是在構建模板中添加並刪除版本= 11.0.0.0))TFS 2012構建定義:參數要構建的項目:無法轉換值Microsoft.TeamFoundation.Build.Workflow.Activities.BuildSettings

確切的錯誤是:

參數項目,以建立:不能轉換價值 的 類型Microsoft.TeamFoundation.Build.Workflow.Activities.BuildSettings 「Microsoft.TeamFoundation.Build.Workflow.Activities.BuildSettings」鍵入 Microsoft.TeamFoundation.Build.Workflow.Activities.Buildsettings, 重置爲默認值。

當編輯構建定義並希望選擇要構建的項目/解決方案和配置時,會顯示它。實際上,現在我無法保存(沒有錯誤),並且該值再次被刪除。

(我使用VS 2012(VS 2010仍然安裝)針對TFS 2012年)

如何解決?

回答

4

打開你的XAML,並期待在xmlns的的Activity根節點:

這裏是我的剪斷版本:

<Activity mc:Ignorable="sads sap sap2010" <!--Removed--> 
xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" 
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
xmlns:mt="clr-namespace:Microsoft.TeamFoundation;assembly=Microsoft.TeamFoundation.Common" 
xmlns:mtbc="clr-namespace:Microsoft.TeamFoundation.Build.Client;assembly=Microsoft.TeamFoundation.Build.Client" 
xmlns:mtbw="clr-namespace:Microsoft.TeamFoundation.Build.Workflow;assembly=Microsoft.TeamFoundation.Build.Workflow" 
xmlns:mtbwa="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Activities;assembly=Microsoft.TeamFoundation.Build.Workflow" 
xmlns:mtbwt="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Tracking;assembly=Microsoft.TeamFoundation.Build.Workflow" 
xmlns:mttbb="clr-namespace:Microsoft.TeamFoundation.TestImpact.BuildIntegration.BuildActivities;assembly=Microsoft.TeamFoundation.TestImpact.BuildIntegration" 
xmlns:mtvc="clr-namespace:Microsoft.TeamFoundation.VersionControl.Client;assembly=Microsoft.TeamFoundation.VersionControl.Client" 
xmlns:mtvc1="clr-namespace:Microsoft.TeamFoundation.VersionControl.Common;assembly=Microsoft.TeamFoundation.VersionControl.Common" 

查找特定版本的引用(通常爲‘10.0’或「11.0」)並刪除它們,使它們看起來像我上面的那些。

此外,檢查您的項目引用,並確保它們不是特定版本。

+1

已經做了,在 - 似乎沒有已經與問題模板,因爲它是正確的(我已經嘗試了幾個版本與版本和沒有)。實際定義可能會間歇性地斷開,因爲在相同模板上構建的其他定義正常工作。另一方面,重新啓動工作室後,它再次工作。 – 2013-04-26 16:57:28

1

這裏是如何改變你的TFS模板的組件:

  • 在源代碼控制管理,瀏覽到BuildprocessTemplates和 打開(雙擊從右鍵菜單,或選擇「查看」)的 您的內部版本基於的模板(給出上述 錯誤的模板)
  • 您應該看到工作流的可視化圖表。底部是 三個選項卡:變量,參數和導入。點擊參數。
  • 選擇BuildSettings參數
  • 找到屬性框。爭論的屬性爲: ArgumentType,Direction,IsRequired,Name和Value。
  • Microsoft.TeamFoundation.Build.Workflow.Activities.BuildSettings 應該是選定的類型,但問題是(典型的)不能 確定選擇了該程序集的哪個版本。點擊下拉 。
  • 在列表底部選擇「瀏覽類型...」「

現在你可以看到所有可用的組件和它們的版本。選擇一個你想要的,最有可能升級到最新版本。一定要經過所有的各種arguements,並確保他們的類型都是設置爲相同的版本以確保兼容性

現在保存文件時可能會遇到問題所有可能看起來沒問題TFS表明它知道文件已更改checkin似乎順利,但當文件是打開組件仍然會反映v 10.如果從文件系統中打開相同的文件,您可能會發現文件中的程序集確實是v 11.什麼給了?不知道。VS中的某種毛刺

但這裏是一個變通:從你的 開發機器

  • 打開VS 2012和確保模板沒有待改變(撤銷),並獲取最新版本

    1. 卸載VS 2010 Team Foundation Server的電動工具
    2. 檢查出EDIT(重要),但不太可能在VS(它 無論如何也打不開,因爲10分集是在一個 前面的步驟卸載)
    3. 關閉VS 2012(重要,因爲如果它的任何變化打開它會出現th在您的更改沒有采取)
    4. 從文件系統(我使用記事本,以消除VS的任何干擾)打開模板,並執行查找/替換「版本= 10.0.0.0」與「版本= 11.0.0.0 「並保存文件
    5. 開放VS 2012,現在你應該可以看到工作流設計
    6. 當然,檢查文件