Отсутствует пространство имен при компиляции aspx-страниц. MVC2, .Net4 - PullRequest
1 голос
/ 08 декабря 2011

У меня есть модель данных в проекте A, в пространстве имен ProjectA.Model.MyEntities.В проекте B (проект MVC2) я ссылаюсь на проект A. Но когда мои страницы запрашиваются, они задыхаются, говоря, что «тип или пространство имен ProjectA неизвестно.

Когда я компилирую свой проект, я не получаюошибки.С моего контроллера контекст базы данных работает нормально, так как ссылки на MyEntities компилируются нормально.Переход к определению в MyEntities позволяет перейти к файлу Model.Designer.cs в проекте A.

Это похоже на то, что проект A является эталонным во время статической компиляции, но не во время выполнения.Проект MVC2, работающий на .Net4, в Visual Studio 2010 с использованием механизма ASPX.Это устаревший проект, поэтому это MVC2, но он был обновлен до .Net4.

Что мне нужно сделать, чтобы избавиться от этой ошибки.Все утро бьюсь головой об стену.

1 Ответ

2 голосов
/ 08 декабря 2011

Вы можете попробовать добавить пространство имен для ProjectA.Model.MyEntities в web.config, это сообщит приложению, что пространство имен требуется для всех представлений.

<system.web>
    <pages>
        <namespaces>
            <!-- defaults omitted for clarity-->
            <add namespace="ProjectA.Model.MyEntities" />
        </namespaces>
    </pages>
</system.web>

В качестве альтернативы, вы можете использоватьдиректива import в верхней части отдельных представлений - это будет более уместно, если вы используете сущности ProjectA только в ограниченном количестве представлений:

<%@ Import Namespace="ProjectA.Model.MyEntities"%>

Это должно быть включено после директивы @Page или @Control.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...