当另一个开发人员从TFS中的存储库获取最新信息时,解决方案中每个项目的引用似乎都没有正确链接。
从我的假设,如果你使用nuget,它会自动为你拉出必要的库吗?我是否必须进入vs.net并告诉它下载这些库?
或者我是否在TFS中添加了一些我不应该拥有的内容,以便假设我的包存储在特定路径中,而当另一个开发人员下载存储库时它们可能不存在?
这是vs.net 2010。
答案 0 :(得分:3)
我有一些类似的问题所以我将NuGet模式切换为commit packages to source control。
我还将 .nuget 和软件包文件夹(以前的步骤在解决方案的文件夹中创建)的内容添加到solution folders中的解决方案中。这样我就可以右键单击解决方案并选择“Check In ...”并检入所有相关文件。如果这样做,那么包含所有包文件(如.dll文件)都非常重要在解决方案或TFS中,这将导致NuGet无法正常工作。如果您选择不执行此操作,则需要使用待更改窗口或右键单击源代码管理资源管理器中的解决方案文件夹并选择“检查待更改......“
我的.nuget解决方案文件夹包含以下文件:
我的包解决方案文件夹包含以下文件:
答案 1 :(得分:2)
出于某种原因,“允许NuGen下载丢失的软件包”并没有为我删除它。我注意到在我的解决方案中为nuget创建了一个“packages”文件夹。我已经检查了这个,但TFS默认过滤掉.dll文件。所以我不得不回到源代码管理浏览器的“packages”文件夹中,添加.dll并检查更改。
例如,这是Visual Studio 2013中用于检入我从NuGet获取的EntityFramework .dll中的步骤(假设您已经在没有.dll的情况下检入了“packages”文件夹)