我有一个多项目解决方案,在几个项目中安装了Prism Nuget软件包。然后我尝试使用Nuget Package Manager UI将Prism Mef扩展包添加到其中一个项目中(我已将其添加到其他项目中)。
我第一次尝试添加软件包时,无法安装其中一个依赖项,没有特定的错误原因,只是“失败”。所以,我第二次安装它,一切似乎都很好,没有报告错误,但有一些参考文献没有解决。
因此,我卸载了包和所有依赖项并再次安装它。再一次看起来都很好,但更多的参考文献都没有解决。
我尝试过多次卸载和安装软件包,但每次都会得到相同的结果。
我多次遇到过这个问题,而且我知道它不是Prism包的具体内容,因为我已经使用了大量不同的软件包。
我认为它只是Nuget的一个主要错误,但我希望有人知道一个简单的方法来修复它。我认为我通常在Nuget控制台上取得了更好的成功,但我觉得使用起来更加努力。
我已经在网上进行了一些搜索,并没有真正找到解决问题原因或解决问题的方法。
有些人在工作时完全拒绝与Nuget有任何关系,因为他有很多这样的问题,但我决心让它发挥作用!
答案 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)
您需要执行以下步骤。
答案 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)
对我来说,重建项目解决了这个问题。 右键单击项目->重建。