引用程序集后无法使用命名空间

时间:2011-03-04 23:35:14

标签: c# .net namespaces .net-assembly

民间,

我遇到了Visual Studio 2010 SP1中的c#,多项目解决方案的问题。

以下是解决方案结构: BNLib - amy私人公用事业库 WidgetClientApp - asp.net应用程序前端 WidgetConsoleUtilities - 控制台应用程序 WidgetCore - 包含共享接口,类和枚举 WidgetMiddleTier - 业务逻辑 WidgetDataLayer - 通过linq到SQL的数据库访问。

问题所在 在向控制台应用程序(WidgetConsoleUtilities)添加对中间层程序集(WidgetMiddleTier,其中包含名称空间Widget.MT)的引用之后,我在program.cs页面中添加了using指令:

使用Widget.MT;

然后我在using指令上收到编译器错误:

名称空间“Widget”中不存在类型或命名空间名称“MT”(您是否缺少程序集引用?)

我在同一个解决方案中的其他几个项目中使用此程序集没有问题。 我在控制台应用程序中使用另一个程序集(WidgetCore,其中包含名称空间Widget.Core)。

Web应用程序(Widget)可以毫无问题地使用这两个程序集。

我尝试删除和读取命名空间,关闭并重新打开Visual Studio 2010,清理构建,直接包括程序集而不是项目,并且nothng已经有效。

有什么想法吗?

你的帮助将大大减少!

最佳,

布雷特

1 个答案:

答案 0 :(得分:7)

控制台应用程序是否偶然使用.NET 4 client profile?如果是这样,则无法引用不在.NET Framework 4 Client Profile中的程序集。相反,您必须以.NET Framework 4为目标 - 执行此操作转到项目属性并将“目标框架”更改为“.NET Framework 4”。