2014-10-16 58 views
1

我想創建一個使用TFS和構建服務器的構建。這是我對構建服務器的第一次嘗試,它不太好!Team Foundation Server無法構建。缺少庫或組件?

我正在使用Visual Studio 2012和TFS 2012.
該項目是用VB.Net編寫的,並使用相當數量的引用。當我在開發機器上構建項目時,我沒有任何問題;但後來我安裝了Outlook 2013並安裝了所有各種必需的組件。

當我將項目發送到構建服務器時,我收到許多與Outlook有關的缺失類型警告以及一些神祕圖書館的警告。
我不能把構建服務器上的前景;那麼我該如何解決這個問題呢?

這裏是一些消息。 er.vb(45):類型'Outlook.Recipient'未定義。 er.vb(42):類型'Outlook.NameSpace'未定義。 er.vb(39):類型'Interop.Outlook.Application'未定義。 rs.vb(1141):類型'Interop.Outlook.Attachment'未定義。 rs.vb(1144):'Outlook'未被聲明。由於其保護級別,它可能無法訪問。

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (1988): 
Cannot get the file path for type library "2df8d04c-5bfa-101b-bde5-00aa0044de52" version 2.7. Library not registered. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)) 
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (1988): 
Cannot get the file path for type library "00062fff-0000-0000-c000-000000000046" version 9.5. Library not registered. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)) 

底部的2條消息不是Outlook相關的,坦率地說,我不確定它在那裏尋找什麼?

從試圖建立最終的消息爲:

異常消息:MSBuild的錯誤1已經結束這個構建。您可以在上面的消息中找到關於此錯誤原因的更多具體信息。 (類型BuildProcessTerminateException) 異常堆棧跟蹤:在System.Activities.Statements.Throw.Execute(CodeActivityContext上下文) at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance,ActivityExecutor executor,BookmarkManager bookmarkManager) at System.Activities.Runtime。 ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor執行者,書籤管理器書籤管理器,位置結果位置)

我假設我收到此由於各種缺失的組件? 任何援助將不勝感激。

回答

2

您很可能擁有許多僅存在於您的GAC中的引用,或者位於本地程序文件樹中。 在文本編輯器中打開項目文件添加看看是否有。 您需要用以下兩種方法之一將源代碼庫中的lib引用替換爲這些引用。

  1. 的NuGet包(推薦)。添加軟件包/ dll需要

  2. lib文件夾(舊方法)。在您的源代碼樹中創建一個文件夾並放入您需要的dll .-

如果更新您的引用,然後更新您的scm。那麼你的構建應該是自我包容和構建。

在構建代理上安裝大型軟件包來修復dll引用是不好的做法,構建代理應儘可能保持乾淨。 源代碼樹應該包含構建它所需的所有鏈接/信息。 (可能除了.dot網絡框架)