Nuget Hint Path无法恢复

时间:2017-03-30 23:40:29

标签: visual-studio visual-studio-2015 nuget

我有一个项目

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)

1 个答案:

答案 0 :(得分:0)

  

该引用现已破裂。 Nuget无法恢复并修复引用

这是因为两个分支中包的相对路径不同,HintPath会有所不同,然后引用被破坏。

  

我怎样才能确定包的路径在两个分支中都有效?

如果要确保包的路径在两个分支中都有效,可以在两个分支的NuGet.config中定义repositoryPath的绝对路径。您可以按照以下步骤进行设置:

  1. 右键点击解决方案 - &gt;添加 - >新项目......

  2. 选择文本文件并重命名为NuGet.config

  3. 在NuGet.config文件中添加这样的内容:

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

  4. 然后重启Visual Studio,它应该工作。包的路径将在两个分支中起作用。

    希望这可以帮到你。