已安装Nuget包但未解析引用

时间:2015-07-27 21:19:18

标签: visual-studio-2013 nuget nuget-package

我有一个多项目解决方案,在几个项目中安装了Prism Nuget软件包。然后我尝试使用Nuget Package Manager UI将Prism Mef扩展包添加到其中一个项目中(我已将其添加到其他项目中)。

我第一次尝试添加软件包时,无法安装其中一个依赖项,没有特定的错误原因,只是“失败”。所以,我第二次安装它,一切似乎都很好,没有报告错误,但有一些参考文献没有解决。

因此,我卸载了包和所有依赖项并再次安装它。再一次看起来都很好,但更多的参考文献都没有解决。

我尝试过多次卸载和安装软件包,但每次都会得到相同的结果。

我多次遇到过这个问题,而且我知道它不是Prism包的具体内容,因为我已经使用了大量不同的软件包。

我认为它只是Nuget的一个主要错误,但我希望有人知道一个简单的方法来修复它。我认为我通常在Nuget控制台上取得了更好的成功,但我觉得使用起来更加努力。

我已经在网上进行了一些搜索,并没有真正找到解决问题原因或解决问题的方法。

有些人在工作时完全拒绝与Nuget有任何关系,因为他有很多这样的问题,但我决心让它发挥作用!

8 个答案:

答案 0 :(得分:29)

在程序包管理器控制台中运行以下命令:

<center>
<div>
<div style="display: inline-block">
<!-- div 1 contents -->    
</div>
<div style="display: inline-block">
<!-- div 2 contents -->
</div>
</div>
</center>

这将重新安装该项目中的每个nuget包,它将解决任何缺少的引用。

如果您知道自己遗漏了具体的参考资料:

Update-Package -reinstall

答案 1 :(得分:11)

我刚刚关闭Visual Studio并重新打开它,引用已经解决......!

答案 2 :(得分:2)

我最近在visual studio 2012上遇到此错误,我的解决方案是从nuget缓存中删除.nupkg文件。 Nuget缓存位置可以从nuget设置中找到&gt;一般&gt;浏览。

注意:我没有清除缓存,我只是从缓存目录中删除了一个特定文件并重新安装了nuget包。

答案 3 :(得分:2)

您可能需要检查程序包的.NET版本与项目。

我有一个实例,我的项目是.NET 4.6.1,而我尝试安装的软件包使用的是4.6.2版本。将我的项目更新为相同的.NET版本后,参考文件出现了。

答案 4 :(得分:2)

您需要执行以下步骤。

  1. 更新程序包
  2. 更新包-重新安装
  3. 重新启动Visual Studio。

答案 5 :(得分:1)

我就是这样解决的。

我正在处理一个旧的 .NET 框架项目(使用 <Reference Include... 而不是 PackageReference)。 .dll 引用的相对路径尚未解析。

通过更改为绝对路径,构建,然后更改回原始相对路径来修复。

例如:

    <Reference Include="My.Package">
      <HintPath>..\..\packages\My.Package.dll</HintPath>
    </Reference>

改为:

    <Reference Include="My.Package">
      <HintPath>C:\Users\will\Documents\MySolution\packages\My.Package.dll</HintPath>
    </Reference>

然后构建并改回相对路径,构建仍然有效。

答案 6 :(得分:0)

从您的.config文件中删除所有<assemblyBinding>引用,然后从Nuget软件包管理器中运行以下命令:

Get-Project -All | Add-BindingRedirect

答案 7 :(得分:0)

对我来说,重建项目解决了这个问题。 右键单击项目->重建。