引用未添加到TFS

时间:2015-07-09 09:12:46

标签: asp.net-mvc tfs

我希望得到一些建议。

我正在检查我的项目(asp.net mvc 5)来源控制(TFS),当一位同事试图将其拉下来时,大部分参考文献都没有被添加到他的项目中。

我如何确保所有引用都被添加?

2 个答案:

答案 0 :(得分:4)

通常,最佳做法是使用NuGet。

至少对于非内部的软件包,您必须使用NuGet。比如EF,BundleTransformer&等等。

为此,您必须启用NuGet包还原并从NuGet Feed中获取所需的全部内容。更多信息:http://docs.nuget.org/consume/package-restore/msbuild-integrated

对于内部dll,您可以创建一个内部NuGet提要:https://docs.nuget.org/create/hosting-your-own-nuget-feeds并从那里获取包或在项目中复制它们。

如果您“手动”复制文件,请不要忘记将文件包含到项目中,我认为这是一个良好的开端。

还有其他最佳实践,例如不再引用GAC中的任何内容,并将所有dll的/依赖项/引用移动到NuGet或在项目中创建原始的“Library / Vendor”文件夹并复制所有必需的DLL(问题在这里是你检查所有dll的源代码控制),但你会确保每个人都会得到完全相同的版本/参考&等等,因为文件存储在那里(物理上)。

答案 1 :(得分:1)

有什么参考?

要记住一些不同的事情:

  1. 如果解决方案中的其他项目无法确保所引用的项目正在建设中,那么该解决方案中的其他项目应该可以正常工作

  2. 对像nunit这样的东西的引用最好通过nuget进行管理,这样你就可以使用它来添加它们,然后当你的同事检查出来时,他只需要恢复nuget包而且一切正常

  3. 引用不在nuget中的东西,你可以将它们放入nuget中,或者我更喜欢创建一个lib文件夹并将它们放在那里。要将它们实际签入为dll,通常会将其排除,添加文件夹和dll,然后使用源代码管理资源管理器找到该文件夹​​,右键单击并选择“将项目添加到文件夹”并使用它来添加dll和文件需要。如果您随后引用lib文件夹中的dll,它们将被检出并应该为其他用户正确解析。