无法解析此引用。找不到程序集 "Microsoft.Practices.EnterpriseLibrary.Common"

Could not resolve this reference. Could not locate the assembly "Microsoft.Practices.EnterpriseLibrary.Common"

我有一个使用 nuget 包 EnterpriseLibrary.Common 版本 5.0.505.0 的项目,但是当我在另一台计算机上恢复该包时,会出现下一条警告消息。

Could not resolve this reference. Could not locate the assembly "Microsoft.Practices.EnterpriseLibrary.Common".

我找了财务路径,没有找到dll,只有一个xml文件。 "Microsoft.Practices.EnterpriseLibrary.Common.xml"

nuget包里应该没有吧? 或者应该在 GAC 中? 如果可以,我该如何安装?

这是您的环境所特有的。通常,如果您在解决方案中引用了 nuget 包 EnterpriseLibrary.Common 版本 5.0.505.0,然后在新机器上打开解决方案并恢复 nuget 包,则 dll 也会恢复。

您可以在程序包管理器控制台中尝试运行:

Update-Package EnterpriseLibrary.Common -Reinstall

希望对您有所帮助。如果没有,则 nuget 包本身 (*.nupkg) 应该位于

packages\EnterpriseLibrary.Common.5.0.505.0\EnterpriseLibrary.Common.5.0.505.0.nupkg

复制此文件并将扩展名更改为 .zip。使用您最喜欢的存档管理器打开它(Windows Explorer 可以)并在存档内的 lib 文件夹中找到它包含的所有 dll。 Microsoft.Practices.EnterpriseLibrary.Common.dll就是其中之一。