民间,
我遇到了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已经有效。
有什么想法吗?
你的帮助将大大减少!
最佳,
布雷特
答案 0 :(得分:7)
控制台应用程序是否偶然使用.NET 4 client profile?如果是这样,则无法引用不在.NET Framework 4 Client Profile中的程序集。相反,您必须以.NET Framework 4为目标 - 执行此操作转到项目属性并将“目标框架”更改为“.NET Framework 4”。