帮助TFS和引用的DLL

twa*_*wal 36 c# asp.net-mvc tfs visual-studio-2010

我们正在使用TFS和VS 2010.

我一直在研究一个使用TFS作为源代码控制的项目.我有很多我下载的dll(例如log4net)并在我的项目中引用.

当一个新的程序员连接到TFS并使我的项目没有源代码控制时,它无法构建,因为它说它缺少所有这些引用的dll.

我在这做错了什么?如何在源代码管理中包含这些引用的DLL.在引用它们之前,是否需要将所有这些dll添加到我的项目中?当我引用它们时,我只是浏览了它们在我的文件系统中的位置.

谢谢!

And*_*ite 49

我发现第三方DLL的最佳实践是在sln/proj文件结构中创建一个"Library"文件夹,并将所有必需的DLL复制到此本地文件夹中以供参考.您还需要确保将这些DLL检入源代码管理中.这样,在项目上工作的每个人都获得所有DLL的完全相同的版本,并且参考路径完全相同.

在任意下载或安装位置引用第三方库将是有问题的,因为它将要求所有开发人员为所有DLL维护相同的下载结构.此外,如果每个人都引用项目结构之外的DLL,则更难保证每个人都使用相同的版本.

另一个选择是让每个人都将DLL安装到GAC中,但这也是一个真正的痛苦,特别是对于版本管理和部署.

  • 这有一个额外的好处,任何开发人员(新的或其他)可以获得最新,命中F5,并启动和运行没有"我在哪里获取DLL X或如何安装DLL Y" (2认同)

Neo*_*lue 7

我在我的项目文件夹中创建了一个"ThirdPartyDLL"文件夹,其中我将所有额外的DLL复制到其中.然后我进入源资源管理器并将这些DLL添加到团队基础服务器中,因此我可以确定我正在为我的应用程序的特定版本使用正确版本的DLLS(所以其他所有人都和我一样在同一页面上).

查看 - 其他窗口 - 源coontrol explorer右键单击项目文件夹 - 将项目添加到文件夹

您将无法选择包含DLL的特定文件夹,而是可以选择文件夹中的各个DLL文件.然后,您将看到该窗口中出现"ThirdPartyDLL"文件夹.

完成后,这些dll就在团队基础源代码控制中.每当dev检入时,它们将获得最新版本的DLL.

不要忘记删除应用中的旧引用并将其更改为thirdpartydll文件夹.

我曾经将DLL复制到bin文件夹,但我遇到的问题是DLL升级的时候.最初,当我的项目很小时,这不是什么大问题.既然我创建了多个DLL和应用程序,那么在我的项目之外维护一致版本的DLL变得非常困难.我最好的例子是我购买的许可dll.升级后,所有应用程序和库都需要在同一版本上.如果我忘了一个然后我有奇怪的问题或应用程序刚刚停止工作.现在我将所有内容放在一个文件夹中,我进行了一次更改,一切都升级了.

希望这可以帮助.