我使用MagicLibrary
作为一些组件。我知道它是用Visual Studio 2003编写的,并在Visual C#Express 2010中重新编译。它编译得很好,我可以看到文件夹中的库。
然后,我在Visual C#Express 2010中创建了一个新项目,并将组件MagicalLocalLibrary.dll
添加到工具箱中。他们看起来很好,没有错误。我将工具箱中的控件放到我的表单中,看起来很好。然后我调试(看看是否会发生任何错误),我看到引用MagicalLibrary
消失了,我收到了错误:
The type or namespace name 'Crownwood' could not be found (are you missing a using directive or an assembly reference?)
问题是,参考文献在解决方案资源管理器中的引用下显示正常,但是我不能用using
导入它或在代码中使用它(根本没有在InstelliSense中列出)但是如果我进入对象浏览器并选择“我的解决方案”它未列出。我可以单击解决方案资源管理器中的参考,只需将复制本地属性更改为True或False,然后它将出现在对象浏览器中,但每当我再次调试我的项目时它就会消失。
知道为什么这样做吗?提前谢谢。
答案 0 :(得分:23)
检查您使用的是.Net 4框架,而不是客户端配置文件版本
右键单击项目时,您会找到该设置,然后选择属性。在应用程序中,有一个目标框架的设置。如果您选择了.Net 4框架客户端配置文件,那么您所描述的此行为可能会发生
答案 1 :(得分:2)
我遇到过一次非常类似的问题。在我的情况下,问题证明是“消失”命名空间的程序集缺少依赖。最后给我提供的信息是this StackOverflow提出的提高MSBuild输出详细程度的建议。提高详细程度设置后,IDE应该为您提供编译失败的更具体原因。