我有一个项目
sln
- Folder1
- MyProj.csproj
-..Other projects and folders
我将一个nuget包添加到'MyProj',这导致csproj中的以下内容
<Reference Include="ANUGETPACKAGE, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\ANUGETPACKAGE.2.0.0\lib\net35\ANUGETPACKAGE.dll</HintPath>
<Private>True</Private>
</Reference>
然后我将该代码合并到我的'Main'分支中,该分支具有与Development相同的结构设置。该引用现已破裂。 Nuget无法恢复并修复引用。我卸载并重新安装软件包,除了:
之外,它会产生相同的结果<HintPath>packages\ANUGETPACKAGE.2.0.0\lib\net35\ANUGETPACKAGE.dll</HintPath>
我怎样才能确定包的路径在两个分支中都有效? (VS2015 Update 2,Nuget 3.4.0)
答案 0 :(得分:0)
该引用现已破裂。 Nuget无法恢复并修复引用
这是因为两个分支中包的相对路径不同,HintPath会有所不同,然后引用被破坏。
我怎样才能确定包的路径在两个分支中都有效?
如果要确保包的路径在两个分支中都有效,可以在两个分支的NuGet.config中定义repositoryPath的绝对路径。您可以按照以下步骤进行设置:
右键点击解决方案 - &gt;添加 - >新项目......
选择文本文件并重命名为NuGet.config
在NuGet.config文件中添加这样的内容:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<add key="repositoryPath" value="C:\packages" />
</config>
</configuration>
然后重启Visual Studio,它应该工作。包的路径将在两个分支中起作用。
希望这可以帮到你。