解决这个问题的另一种方法是修改.csproj
文件中的包引用路径,使用$(SolutionDir)
宏来指向两个解决方案中正确的目录:
<ItemGroup>
<Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>
$(SolutionDir)packages\Newtonsoft.Json.10.0.3\lib\net40\Newtonsoft.Json.dll
</HintPath>
</Reference>
...
</ItemGroup>
.nuget\NuGet.config
文件,并将repositoryPath
设置为专用本地文件夹。在解决方案的根目录(在文件系统上)中创建一个.nuget文件夹(如果您无法使用Windows资源管理器创建.nuget文件夹,则可以输入.nuget.)
在该文件夹中创建一个名为NuGet.config的文件。
在Visual Studio 2015中,右键单击解决方案并添加名为“.nuget”的新解决方案目录
右键单击该文件夹并选择添加现有文件,然后选择在(2)中创建的NuGet.config文件。
在NuGet.config文件中添加类似以下内容的内容:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
<config>
<add key="repositoryPath" value="..\..\..\..\NugetPackages" />
</config>
</configuration>
请注意,您需要修复现有的引用,例如通过删除然后再次添加所有包来修复。
我个人使用绝对路径来存储包,因为我的解决方案不都在同一个文件夹层次结构中 - 如果您在团队中,您可能需要先讨论此问题。