Hint Path正在搞乱Nuget Restore

时间:2017-05-20 21:56:57

标签: visual-studio csproj

我的解决方案中有3个项目; Api,测试和测试。接受。当我从Git中解决问题时,Test and Test.Acceptance文件无法恢复。

我尝试使用以下代码添加.nuget\NuGet.config\

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <config>
    <add key="repositoryPath" value="C:\packages" />
  </config>
</configuration>

虽然这似乎将软件包拉入该文件夹,但实际的解决方案本身并没有注意到配置。

我没有在项目上运行Update-Package -reinstall,这是让csproj文件服从新NuGet.config的必要步骤吗?

1 个答案:

答案 0 :(得分:2)

你是对的,HintPath会在一些场景中克隆项目时混淆其他用户,例如在用户的nuget配置中指定的绝对存储库路径,该路径未被项目覆盖。只要每个人都使用相同的repositoryPath - 通过解决方案文件夹中的全局配置或NuGet.Config文件 - 这应该不是问题。

如果你想支持各种各样的配置,我建议移动packages.config并在VS 2017 / NuGet 4中使用新的PackageReference nuget机制,其中csproj文件本身列出了它需要的包和不包含任何提示路径。此外,全局包缓存将用于所有项目。请参阅有关集成的NuGet's blog post,尤其是What about other project types that are not .NET Core?部分(请注意,当前发布的VS 2017版本完全支持该机制)