我的解决方案中有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
的必要步骤吗?
答案 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版本完全支持该机制)