我的项目A中的数据模型位于名称空间ProjectA.Model.MyEntities中。在项目B(一个MVC2项目)中,我引用了项目A.但是当我的页面被请求时,他们会窒息地说'类型或命名空间ProjectA未知。
当我编译项目时,我没有错误。从我的控制器,数据库上下文似乎工作正常,因为对MyEntities的引用编译正常。在MyEntities上进行定义会导航到项目A中的Model.Designer.cs文件。
类似于项目A在静态编译期间是引用,但不是在运行时。
这是一个MVC2项目,使用ASPX引擎在Visual Studio 2010中运行.Net4。这是一个遗留项目,这就是为什么它是MVC2,但它已经升级到.Net4。
我该怎么做才能摆脱这个错误。整个早上一直在墙上敲我的头。
答案 0 :(得分:2)
您可以尝试将ProjectA.Model.MyEntities的命名空间添加到web.config,这将通知应用程序所有视图都需要命名空间。
<system.web>
<pages>
<namespaces>
<!-- defaults omitted for clarity-->
<add namespace="ProjectA.Model.MyEntities" />
</namespaces>
</pages>
</system.web>
或者,您可以在各个视图的顶部使用imports指令 - 如果您只在有限数量的视图中使用ProjectA的实体,这将更合适:
<%@ Import Namespace="ProjectA.Model.MyEntities"%>
这应该包含在@Page或@Control指令之后。