如何处理TFS中的DLL引用?

4
我创建了我的第一个TFS(2013 Express)项目,并将我的解决方案(MVC5)添加到该项目中。然后我提交了所有内容,删除了它并从TFS中恢复以确保我有一个可用的副本。在这一点上,我意识到我有一个“DLL引用”文件夹位于我的解决方案之外。请问,存储像这样引用的第三方dll的正确方法是什么,这样我就可以确保我有一个可工作的解决方案?编辑:这不是来自Nuget的dll。这些是我从文件夹中引用的第三方dll。

可能是TFS获取最新版本未抓取引用的重复问题。 - confusedandamused
那个链接引用了Nuget文件。这是第三方的dll,我没有从Nuget获取。 - John Doe
4个回答

4
在解决方案级别的TFS中创建一个文件夹,称之为“dependencies”,“binaries”或者其他你喜欢的名称。将第三方文件添加到此文件夹中。从该文件夹中删除和添加项目引用。

2
易于但不太干净的方法是创建一个虚拟项目,没有源文件,只有一个文件夹(您可以使用已经存在的程序集文件夹)来包含您的依赖项。然后将虚拟项目添加到您的解决方案中,并由TFS同步。
还有一种替代方法,无需包括虚拟项目。
从Visual Studio内部,您可以使用源代码控制资源管理器将文件添加到TFS,即使它们不在您的解决方案中。
您也可以从Windows资源管理器中执行此操作。只要您在已配置工作区的文件夹中,右键单击该文件夹时应该能看到“Team Foundation Server”下拉菜单。
缺点是,当有人需要将您的解决方案文件下载到新的计算机时,他们必须手动下载该文件夹(通过源代码控制资源管理器或Windows资源管理器)。

1
我按照源代码控制资源管理器建议的方式添加了文件夹,这解决了问题。我也没有考虑到Nuget dll,所以需要重新访问之前添加的链接。谢谢。 - John Doe

0

我知道我来晚了,但是对于任何遇到类似问题的人,你可以在项目中创建一个名为“ExternalDLLs”的文件夹,并将所需的DLL添加到其中。在项目中添加对这些DLL的引用。然后将此文件夹包含在源代码控制中并上传。

默认情况下,源代码控制会忽略具有某些扩展名(例如dll)的文件。确保将此文件夹添加到源代码控制中,通常可以从IDE中完成,或者可能有一个.gitignore文件(或类似文件)。

如果您尝试将带有DLL的bin文件夹上传到源代码控制中,则bin文件夹内容将变为只读。这就是为什么需要创建此单独的文件夹的原因。


0
我一直建议不要将二进制文件提交到源代码控制中。你可以创建自己的NuGet包,将这些依赖项维护在上面,并将其托管在自己的NuGet服务器上。

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