重新打开项目后出现双重参考

时间:2018-04-03 10:54:51

标签: c# visual-studio visual-studio-2015 nuget nuget-package

我创建了一个项目,并将其作为一个nuget包,当我在项目中安装该nuget包时,它工作正常并且看起来都很好。

当我关闭项目并重新打开它时(使用visual studio)会出现问题。在引用列表中,nuget包由于某种原因是双重的,并且一个没有路径/没有版本e.t.c.项目运行并且所有内容都使用了正确的引用,但在此双引用的输出窗口中有一个警告已添加。

enter image description here

我无法弄清楚它为什么会发生。在.csproj中,只有一个对此nuget的引用,也在packages文件夹中。

有没有人经历过这个?

2 个答案:

答案 0 :(得分:0)

  

重新打开项目后出现双重参考

添加nuget引用会在.csproj文件中添加如下节点:

<Reference Include="xx.xxx.Parameters, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
  <HintPath>..\packages\xx.xxx.Parameters.1.0.0\lib\net461\xx.xxx.Parameters.dll</HintPath>
</Reference>

由于引用中出现双重引用,因此,首先,我们需要仔细检查.csproj文件中只有一个引用

如果是,请在重新打开项目后尝试清理构建,有时Visual Studio将从bin\文件夹中引用。

如果上面没有帮助,请删除带黄色标记的参考,然后关闭项目并重新打开,检查是否重现了此问题。

此外,你可以安装其他nuget包来检查是否存在同样的问题,这样我们就可以知道这个问题与你的Visual Studio或nuget包本身有关。

答案 1 :(得分:0)

创建nuget包时,某些场景需要.props和.targets文件。例如,使用多个架构,我已回答here。 - 我更新了这个答案,以反映我在尝试解决双重引用问题时发现的内容

一点不清楚的是.target和.props的命名需要与nuget包文件名相同(也就是版本)。 如果没有这个,重新打开visual studio时会出现双引用