引用项目中的命名空间在构建之前存在于自动完成中,但在构建之后会导致编译错误

时间:2010-07-14 21:39:37

标签: c# .net visual-studio

我有一个使用命名空间的类库项目(例如,“Cosmos.Creator.Util”)。然后我创建一个解决方案和Windows窗体应用程序来测试库。从Windows窗体应用程序中,我添加了对库的引用。所以现在我在visual studio中打开了两个项目,一个类库和一个windows表单项目。表单项目引用库。

当我编辑表单的代码时,代码自动完成功能可以正常使用我在库中使用的命名空间。例如,如果我输入“使用Cosmos”。我得到了像“Creator”这样的自动填充选项。但是现在如果我构建我的解决方案,所有的“Cosmos”都带有编号错误的红色下划线:“找不到类型或命名空间名称”Cosmos“(您是否缺少using指令或程序集引用?)”

出于表单应用程序测试的目的,我将库代码放入CosmosFormExample \ Cosmos文件夹中。当我从表单应用程序检查引用时,引用是CosmosFormExample \ Cosmos \ bin \ Debug \ Cosmos.dll,所以看起来没问题。我查看了解决方案文件中引用的GUID,它与项目文件Cosmos.csproj的GUID相匹配。

发生了什么事?构建如何导致我的表单应用程序忘记Cosmos命名空间,尽管它仍然引用了库项目?非常感谢。

2 个答案:

答案 0 :(得分:4)

您使用的是VS2010& .NET 4?如果是这样,您可能正在使用.NET 4 Client Profile而不是完整的.NET 4.转到项目属性并检查目标框架。

了解更多信息:http://msdn.microsoft.com/en-us/library/cc656912.aspx

答案 1 :(得分:1)

您需要检查您正在使用的框架以及您为其编译的框架...