簡體   English   中英

Team Foundation Server 2010:使用外部庫進行構建

[英]Team Foundation Server 2010: Build with external library

我在使用帶有Visual Studio 2010 TFS的外部庫來構建項目時遇到問題。

在解決方案的根本上,我有一個“ libs”文件夾,其中包含所有共享庫,並且從那里引用這些庫。

在構建項目時,未考慮某些庫,並且出現以下錯誤消息:

C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\Microsoft.Common.targets (1360): Could not resolve this reference. Could not locate the assembly "Spring.Data". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.

我試圖將解決方案配置從“調試”更改為“發布”,以將共享庫放置在另一個文件夾中……我沒有設法通過它。

關於如何在構建中使用此庫的任何想法?

謝謝大衛

第一步是驗證您使用正確的相對路徑正確引用了dll。 打開項目文件的XML,並確保路徑是相對的,而不是絕對的(“ ....”與“ C:\\ Code \\”)。

如果路徑都正確,則下一步是確保將文件下拉到構建服務器的工作區中。 您可以通過僅檢查服務器上的build文件夾來驗證。 如果不存在,則工作空間映射可能會出現問題,該工作空間映射定義了開始構建時要獲取的文件夾。

這些是我所見過的最常見的問題。 如果正確,則將需要更多診斷信息。

檢查您的提示路徑。 有時那里有過時的參考...

也許在引用外部庫時可以做一個很好的實踐:

  • 將您的外部庫或來自公司其他團隊的已編譯內容復制到開發文件服務器上,格式為:
  • 為每個解決方案文件創建一個副本腳本,並將其添加為解決方案項。 為要從開發服務器正確構建該解決方案文件的每個外部庫添加多個xcopy命令。
  • 創建一個腳本以創建一個虛擬虛擬驅動器(使用dos命令subst)並將其映射到您的工作區,例如R驅動器,並在Windows啟動時激活此腳本以使其始終可用。 該腳本專用於開發人員,並已映射到開發人員工作區。
  • 創建其中具有R驅動器映射的所有文件引用。 例如:R:\\ NiceLib \\ 1.0 \\ nicelib.core.dll

這樣,您就可以使TFS變得干凈整潔,只有您自己的資源以及來自外部各方甚至公司中其他團隊的所有已編譯內容都存儲在dev文件服務器上。

我在使用Visual Studio 2010 TFS時遇到了類似的問題。 經過數天的頭部撞擊之后,下面的步驟對我有用。

  1. 將所有外部dll(TFS引發錯誤的dll)復制到一個單獨的文件夾中。

  2. 在源代碼管理中檢入文件夾(驗證dll是否與文件夾一起檢入;如果不是,請手動將其檢入。)

  3. 在您的項目中,刪除引發錯誤的dll,然后從創建的單獨文件夾中再次引用它們。
  4. 生成應用程序並簽入項目。
  5. 現在編輯構建定義。 轉到工作區選項卡。 添加單獨添加的參考文件夾的工作空間。
  6. 在“源代碼管理”列下,選擇您簽入的單獨文件夾的位置。在“生成代理”列下,請牢記路徑,以記住制作單獨參考文件夾的結構。 保存並運行。

說明:工作空間的“構建代理”列下給出的路徑會將外部參考文件夾復制到構建服務器中。 構建服務器將需要此文件夾來構建應用程序。 注意:不要將您的bin位置作為對外部dll的引用。 解決方案清除后,Bin將被刪除,引用將消失。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM