类型或命名空间名称';实践';不存在于命名空间';微软';(是否缺少程序集引用?)
本文关键字:命名空间 是否 程序集 引用 不存在 实践 类型 微软 | 更新日期: 2023-09-27 17:59:59
我正在研究一个遗留项目,我正试图在Visual Studio 2010中构建该项目。
其中一个项目(针对.NET Framework 4)拒绝使用引用的DLL Microsoft.Practices.ServiceLocation(v2.0.50727)。尽管引用是正确的,但我还是收到了这个错误,甚至Intellisense似乎也认为它应该有效。以下是使用说明:
using Microsoft.Practices.ServiceLocation;
我还需要包括其他图书馆吗?这是版本控制问题吗?怎么回事!?!
我在一个使用.Net framework 4.0的项目中偶然发现了同样的问题。我所做的是删除对Microsoft.Unity的任何引用,并使用nuget和以下命令重新安装它。
Install-Package Unity -Version 2.1.505.2
以上内容摘自官方的nuget软件包页面,如下所示。
https://www.nuget.org/packages/Unity/2.1.505.2
问题是,如果你使用的是Unity 3.5版本,那么你应该使用.Net framework 4.5,因为低于这个版本就无法工作。对于.Net framework 4.0,您需要使用上述版本,因为它们彼此兼容。
在这里,微软真的很糟糕,因为它显示了一条完全错误的消息。应该有一条关于兼容性的正确帮助错误消息。
我希望这能有所帮助。