我克隆了一个git存储库,其中包含一个引用Json.Net作为Nuget包的VS项目。此参考以下列形式出现:
<HintPath>..\..\..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
我将克隆的存储库(以及我的所有其他git存储库)都安装到D:\Repos
。
正如您所看到的,我无法在上面安装3个目录。
使用环境变量(NUGET_PACKAGES
)或packages.config
文件似乎覆盖在包安装时难以烘焙到项目文件中的相对路径。
虽然可以通过在文件系统中更深入地嵌入这个特定的repo 3文件夹来解决这个确切的实例,但这不是解决问题的方法。
是否可以告诉Visual Studio忽略这些作者指定的HintPath
以支持某种用户指定的路径?
答案 0 :(得分:1)
如果您使用的是packages.config文件,则无法在添加NuGet包时禁用提示路径。
我会考虑使用解决方案旁边的NuGet.Config文件,并使用repositoryPath设置来定义软件包的位置。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<add key="repositoryPath" value="../MyPackages" />
</config>
</configuration>
另一种选择是使用project.json文件,尽管这个文件在某些时候会消失。使用project.json文件意味着根本没有任何提示路径存储在.csproj文件中。程序集在构建时解析。