已安装 Nuget 包但未解析引用
Nuget package installed but references not resolved
我有一个多项目解决方案,在多个项目中安装了 Prism Nuget 包。然后我尝试使用 Nuget 包管理器 UI 将 Prism Mef 扩展包添加到其中一个项目(我已经将它添加到其他项目之一)。
我第一次尝试添加包时,其中一个依赖项安装失败,没有具体的错误原因,只是"failed"。于是,我又安装了第二次,一切似乎都很好,没有报错,但是有几个参考没有解决。
所以,我卸载了软件包和所有依赖项,然后重新安装。同样一切都很好,但更多的参考没有解决。
我已经多次尝试卸载和安装软件包,但现在每次都得到相同的结果。
这个问题我遇到过很多次,我知道它不是 Prism 包特有的,因为我在加载不同的包时遇到过这个问题。
我认为这只是 Nuget 的一个主要错误,但我希望有人知道修复它的简单方法。我想我通常使用 Nuget 控制台会更成功,但我发现它使用起来更费力。
我在网上进行了一些搜索,但没有真正找到对问题原因或解决方法的良好解释。
工作中有人完全拒绝与 Nuget 有任何关系,因为他有很多这样的问题,但我决心让它发挥作用!
我刚刚关闭 Visual Studio 并重新打开它,引用已解决...!
在程序包管理器控制台中 运行 以下命令:
Update-Package -reinstall
这将重新安装该项目中的每个 nuget 包,这将解决所有丢失的引用。
如果您知道自己遗漏了特定参考资料:
Update-Package -reinstall <Package-Name>
我最近在 visual studio 2012 年遇到了这个错误,我的解决方案是从 nuget 缓存中删除 .nupkg 文件。可以从 nuget 设置 > 常规 > 浏览找到 Nuget 缓存位置。
注意:我没有清除缓存,我只是从缓存目录中删除了一个特定的文件并重新安装了 nuget 包。
您可能需要检查包的 .NET 版本与您的项目。
我有一个实例,我的项目是 .NET 4.6.1,而我尝试安装的包使用的是 4.6.2 版。将我的项目更新到相同的 .NET 版本后,出现了引用。
您需要遵循此程序。
1. 更新包
2.更新包-重新安装
3. 重启visual studio.
从您的 .config 文件中删除所有 <assemblyBinding>
引用,然后从 Nuget 包管理器中 运行 此命令:
Get-Project -All | Add-BindingRedirect
对我来说,重建项目解决了这个问题。
右键单击项目 -> 重建。
我就是这样修复的。
我正在处理遗留 .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>
然后构建并改回相对路径,构建仍然有效。
在我们的例子中,在一台机器上 VS 持有旧版本的依赖项,因此对依赖项中新添加方法的引用没有解析(即使包管理器报告安装了最新版本)。解决方法是卸载依赖后重启visual,然后重新安装
我有一个多项目解决方案,在多个项目中安装了 Prism Nuget 包。然后我尝试使用 Nuget 包管理器 UI 将 Prism Mef 扩展包添加到其中一个项目(我已经将它添加到其他项目之一)。
我第一次尝试添加包时,其中一个依赖项安装失败,没有具体的错误原因,只是"failed"。于是,我又安装了第二次,一切似乎都很好,没有报错,但是有几个参考没有解决。
所以,我卸载了软件包和所有依赖项,然后重新安装。同样一切都很好,但更多的参考没有解决。
我已经多次尝试卸载和安装软件包,但现在每次都得到相同的结果。
这个问题我遇到过很多次,我知道它不是 Prism 包特有的,因为我在加载不同的包时遇到过这个问题。
我认为这只是 Nuget 的一个主要错误,但我希望有人知道修复它的简单方法。我想我通常使用 Nuget 控制台会更成功,但我发现它使用起来更费力。
我在网上进行了一些搜索,但没有真正找到对问题原因或解决方法的良好解释。
工作中有人完全拒绝与 Nuget 有任何关系,因为他有很多这样的问题,但我决心让它发挥作用!
我刚刚关闭 Visual Studio 并重新打开它,引用已解决...!
在程序包管理器控制台中 运行 以下命令:
Update-Package -reinstall
这将重新安装该项目中的每个 nuget 包,这将解决所有丢失的引用。
如果您知道自己遗漏了特定参考资料:
Update-Package -reinstall <Package-Name>
我最近在 visual studio 2012 年遇到了这个错误,我的解决方案是从 nuget 缓存中删除 .nupkg 文件。可以从 nuget 设置 > 常规 > 浏览找到 Nuget 缓存位置。
注意:我没有清除缓存,我只是从缓存目录中删除了一个特定的文件并重新安装了 nuget 包。
您可能需要检查包的 .NET 版本与您的项目。
我有一个实例,我的项目是 .NET 4.6.1,而我尝试安装的包使用的是 4.6.2 版。将我的项目更新到相同的 .NET 版本后,出现了引用。
您需要遵循此程序。
1. 更新包
2.更新包-重新安装
3. 重启visual studio.
从您的 .config 文件中删除所有 <assemblyBinding>
引用,然后从 Nuget 包管理器中 运行 此命令:
Get-Project -All | Add-BindingRedirect
对我来说,重建项目解决了这个问题。 右键单击项目 -> 重建。
我就是这样修复的。
我正在处理遗留 .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>
然后构建并改回相对路径,构建仍然有效。
在我们的例子中,在一台机器上 VS 持有旧版本的依赖项,因此对依赖项中新添加方法的引用没有解析(即使包管理器报告安装了最新版本)。解决方法是卸载依赖后重启visual,然后重新安装