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