从TFS中拉出项目时无法解决nuget包问题

时间:2017-07-13 18:32:11

标签: visual-studio-2015 tfs nuget-package

所以我的同事一直在他当地的.NET C#单元测试项目上工作,并将所有东西都检入公司的TFS服务器。他是唯一一个正在努力的人。当我被要求切换到他的项目时,我使用Visual Studio将他的工作从TFS拉到我的本地(创建副本)。所以我继续团队 => 管理连接 => 连接到TFS =>找到了所需的项目文件夹。右键单击TFS中的此文件夹并选择获取最新版本将整个文件夹复制到我在Visual Studio中明确提供的本地文件夹。完成此操作后,我选择文件 => 打开 => 项目/解决方案 =>在我的本地文件夹中找到 .sln 文件,仅用于拉取项目并选中它。看起来我已经准备好了所有代码,并导航到解决方案的管理Nuget包,显示了我的同事在他的本地Visual Studio上所有相同的包。当我尝试构建我新开放的解决方案时出现问题,我看到很多错误都被称为项目无法引用正确的程序集或缺少dll。根据我的理解,该项目正试图找到nuget包,但却无法看到它。我和同事一样看到了相同的软件包版本。我已经尝试过但没有帮助的方法在

之下
  1. 右键单击Visual Studio Solution Explorer中的解决方案,然后选择还原Nuget包
  2. 尝试从我的同事Visual Studio
  3. 复制 packages.config 文件
  4. 尝试在程序包管理器控制台中运行nuget restore MyProject.sln
  5. 尝试在我本地的解决方案中删除文件夹,并从我的同事本地复制/粘贴
  6. 卸载所有软件包,然后在Nuget Package窗口中重新安装它们。
  7. 如果您能够解决此类问题,请分享您的经验。谢谢!

1 个答案:

答案 0 :(得分:0)

  

从TFS中拉出项目时无法解决nuget包问题

您可以尝试在程序包管理器控制台中使用NuGet命令行:

Update-Package -reinstall

强制将包引用重新安装到项目中。

你尝试过什么方法1~4是恢复包。 NuGet Restore仅恢复packages目录(\ packages文件夹)中的文件,但不恢复项目内的文件或以其他方式修改项目。例如,如果某个包在项目中添加了一些引用DLL或其他文件,那么如果删除这些文件中的任何一个,则在还原此包时不会重新添加它们。这可能导致您的项目在构建时无法找到缺少的依赖项。

但是,我不确定为什么卸载和重新安装不适合您。如果源代码控制下的解决方案内的包,请尝试使其脱离源代码控制。请检查您的项目文件,确保所有软件包的HintPath都正确。

如果上述问题无法解决,请在使用命令行Update-Package -reinstall后与我们分享错误日志。