TFS dll和引用问题

16

我们使用Team Foundation Server作为主要项目的工具。每次我们新增一个现场或远程员工,我们都必须手动设置引用。

TFS能否在不需要每次安装时将dll复制/保存/传递到新用户?

例如,我添加了新功能并向我的项目安装了DocumentFormat.OpenXml。我设置好代码,在我的机器上正常运行和工作,发布后也能正常运行。然后我将一切都上传到TFS。

我的同事下载项目尝试构建它,但是由于不存在引用,它会报错说无法处理DocumentFormat.OpenXml。

因此,他们必须下载DocumentFormat.OpenXml,然后才能构建和运行项目。

TFS有没有办法省去这个步骤?


3
在TFS项目目录中添加外部依赖项,并通过相对路径引用它们。 - user1228
1
@Will,有没有一份文档可以带我完成这个过程?在这个项目之前,我从未使用过TFS,所以大部分时间都是摸索。 - James Wilson
2
与TFS无关。在您的解决方案中,添加一个名为“Dependencies”的文件夹。在解决方案层次结构的相同位置上磁盘上添加一个匹配的文件夹(很烦人,我知道)。将依赖的外部DLL添加到该目录中。通过相对路径(例如,“....\dependencies\derp.dll”)在项目中引用这些DLL。然后检入您的解决方案。dll将随解决方案一起传输,任何获取最新版本的人都会得到这些dll。就像任何其他文件一样。检查它们。您需要像处理代码一样对依赖项进行版本控制。 - user1228
1
@Will 哦,那很有道理,谢谢。我还注意到我可以“签入”包含相同dll的“bin”文件夹,这是一个好主意/可以还是可怕的想法? - James Wilson
2
如果这能解决你的问题,我会把我的评论编译成一个答案。 - user1228
显示剩余7条评论
1个回答

44

与TFS无关,您只需将依赖项签入源代码控制即可。

在您的解决方案中,添加一个名为“Dependencies”的文件夹。在解决方案层次结构中相同位置处添加一个匹配的磁盘文件夹(很烦人,我知道)。将所依赖的外部DLL添加到该目录中。

enter image description here

由于它们现在是解决方案的一部分,它们将随着解决方案一起进入源代码控制。

在您的项目中引用它们。它会像这样:

enter image description here

但是它应该以相对路径的形式记录在您的解决方案文件中。

<Reference Include="Example">
  <HintPath>..\..\..\Dependencies\Example.DLL</HintPath>
</Reference>

如果您遇到此问题,可以简单地编辑项目文件并更改提示路径。

5
不必两次添加文件夹,您可以在文件资源管理器中添加它,然后在“解决方案资源管理器”中点击“显示所有文件”,接着右键单击您的依赖项文件夹并选择“包含在项目中”。 - majjam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接