C# 类型或命名空间名称';实践';命名空间中不存在';微软';(是否缺少程序集引用?)

C# 类型或命名空间名称';实践';命名空间中不存在';微软';(是否缺少程序集引用?),c#,visual-studio-2010,enterprise-library,C#,Visual Studio 2010,Enterprise Library,我正在看一个遗留项目,我正试图在VisualStudio2010中构建它 其中一个项目(针对.NET Framework 4)拒绝使用引用的DLL Microsoft.Practices.ServiceLocation(v2.0.50727)。我得到这个错误,即使参考是健全的-甚至智能感知似乎认为它应该工作。以下是using语句: using Microsoft.Practices.ServiceLocation; 我还需要包括其他图书馆吗?这是版本控制问题吗?发生什么事了 我在一个使用.Ne

我正在看一个遗留项目,我正试图在VisualStudio2010中构建它

其中一个项目(针对.NET Framework 4)拒绝使用引用的DLL Microsoft.Practices.ServiceLocation(v2.0.50727)。我得到这个错误,即使参考是健全的-甚至智能感知似乎认为它应该工作。以下是using语句:

using Microsoft.Practices.ServiceLocation;

我还需要包括其他图书馆吗?这是版本控制问题吗?发生什么事了

我在一个使用.Net framework 4.0的项目中偶然发现了同样的问题。我所做的是删除对Microsoft.Unity的任何引用,并使用nuget和以下命令重新安装它

Install-Package Unity -Version 2.1.505.2
以上内容摘自官方nuget软件包页面,如下所示

问题是,如果您使用的是Unity 3.5版,那么您应该使用.Net framework 4.5,因为它在低于该版本时不起作用。对于.Net framework 4.0,您需要使用上述版本,因为它们彼此兼容

在这里,由于显示了一条完全关闭的错误消息,微软真的再次糟糕透了。应该有一个关于兼容性的正确帮助错误消息

我希望这有帮助