Team Foundation Server 2010:使用外部库构建

时间:2010-07-14 00:59:28

标签: c# tfs2010 spring.net

我有使用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.

我尝试将解决方案配置从Debug更改为Release,以便在另一个文件夹中找到共享库...我没有设法通过它。

关于如何在构建中使用此库的任何想法?

谢谢, 大卫

3 个答案:

答案 0 :(得分:2)

第一步是使用正确的相对路径验证您是否正确引用了dll。打开项目文件的XML并确保路径是相对的,而不是绝对的(“....”与“C:\ Code \”)。

如果路径都正确,则下一步是确保将文件下拉到构建服务器的工作区。您可以通过检查服务器上的build文件夹来验证。如果它们不在那里那么工作区映射可能存在问题,这些映射定义了开始构建时要获取的文件夹。

这些是我见过的最常见的问题。如果这些是正确的,您将需要更多的诊断信息。

答案 1 :(得分:1)

检查您的提示路径。有时那里有陈旧的参考......

在引用外部库时,也许我可以提供一个好的做法:

  • 将您的外部库或公司其他团队的编译内容复制到开发文件服务器上,格式为:
  • 为每个解决方案文件创建一个副本脚本,并将其添加为解决方案项。为开发服务器中的每个外部lib添加几个xcopy命令,以便正确构建该解决方案文件。
  • 创建一个脚本来创建一个子虚拟驱动器(使用dos命令subst)并将其映射到您的工作区,例如R驱动器并在Windows启动时激活此脚本以使其始终可用。此脚本专用于开发人员,并已映射到开发人员工作区。
  • 使用R驱动器映射创建所有文件引用。例如:R:\ NiceLib \ 1.0 \ nicelib.core.dll

通过这种方式,您可以将TFS清理干净,只有您自己的来源和来自外部各方甚至公司其他团队的所有编译内容都存储在开发文件服务器上。

答案 2 :(得分:0)

我使用Visual Studio 2010 TFS遇到了类似的问题。经过几天的敲击,下面的步骤为我工作。

  1. 复制所有外部dll(TFS抛出的dll错误) 进入一个单独的文件夹。

  2. 签入源代码管理中的文件夹。(验证dll是否与文件夹一起签入。如果没有,请手动检查它们。)。

  3. 在您的项目中,删除抛出错误的dll并再次从中引用它们 单独的文件夹创建
  4. 构建应用程序并签入项目。
  5. 现在编辑构建定义。转到工作区选项卡。添加 工作区用于单独添加的参考文件夹。
  6. 在源代码管理列下,选择您签入的单独文件夹的位置。在“构建”下 代理列给出了路径,牢记其中的结构 单独的参考文件夹。保存并运行。
  7. 说明:在工作区的“构建代理”列下给出的路径将外部参考文件夹复制到构建服务器中。构建服务器将需要此文件夹来构建应用程序。 注意:不要将bin位置作为外部dll的参考。解决方案清理后,Bin将被删除,并且引用将消失。