编译aspx页时缺少命名空间。 MVC2,.Net4

时间:2011-12-07 21:21:36

标签: model-view-controller asp.net-mvc-2

我的项目A中的数据模型位于名称空间ProjectA.Model.MyEntities中。在项目B(一个MVC2项目)中,我引用了项目A.但是当我的页面被请求时,他们会窒息地说'类型或命名空间ProjectA未知。

当我编译项目时,我没有错误。从我的控制器,数据库上下文似乎工作正常,因为对MyEntities的引用编译正常。在MyEntities上进行定义会导航到项目A中的Model.Designer.cs文件。

类似于项目A在静态编译期间是引用,但不是在运行时。

这是一个MVC2项目,使用ASPX引擎在Visual Studio 2010中运行.Net4。这是一个遗留项目,这就是为什么它是MVC2,但它已经升级到.Net4。

我该怎么做才能摆脱这个错误。整个早上一直在墙上敲我的头。

1 个答案:

答案 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指令之后。