2011-01-19 54 views
1

背景調用從TFS工作流編譯爲86碼的活動建立2010

我們有必要,或至少一個願望,呼籲只會加載/調用時運行第三方DLL來自一個編譯爲x86的.Net程序集。爲了兼容性,我們通常將.Net程序編譯爲x86,所以這在過去一直沒有問題。我正在尋找獲得x64版本,但它看起來並不樂觀。

真正的問題

當我編譯我們的準則作爲活動的86,而不是「任何CPU」生成代理拋出一個錯誤,指出它無法找到我們的代碼活動。

問題

  • 是不是有什麼特別的,我需要 工作流中做來告訴它的代碼活動的 組件是86?

  • 即使編譯了任何CPU,我是否可以強制代碼活動運行爲 x86?

  • 有沒有辦法強制整個 工作流程以x86的方式運行?

回答

-1

TFS Build 2010是64位,這可能會導致問題。

但是,爲什麼要編譯作爲x86程序集的團隊構建消耗的代碼活動?該代碼活動使用第三方DLL?

0

我們遇到了同樣的問題,即我們工作流中的一個代碼活動爲文檔目的而進行了一些程序集加載和反射(與此同時在TFS 2012中))。

我們已經創建了一個小命令行EXE鏈接到所有需要的代碼活動CS文件的解決方案。在EXE我們稱之爲活動的東西,如:

 CreateSpecs createSpecsAction = new CreateSpecs(); 
     var Arguments = new Dictionary<string, object> 
      { 
       {"BinariesDirectory",BinariesDirectory}, 
       {"FileMask",FileMask}, 
       {"ExcludeFiles",ExcludeFiles}, 
       {"ResultFilePath",ResultFilePath} 
      }; 

     var output = WorkflowInvoker.Invoke(createSpecsAction, Arguments);  

在我們的工作流模板我們所說的exe文件,當我們建立x86和做一個正常的呼叫到活動除外。爲了調試活動,我們切換到AnyCPU。