Страница ASP.NET говорит, что мне нужно сослаться на сборку, которая не существует! - PullRequest
9 голосов
/ 30 января 2009

Мой сайт asp.net должен работать на нескольких клиентских серверах. На большинстве из них он работает нормально, но на нескольких страницах есть сообщение об ошибке:

Сообщение об ошибке компилятора: CS0012: тип 'MetaNameValuePair' определен в сборке, на которую нет ссылок. Необходимо добавить ссылку на сборку 'App_Code.t_3vcono, версия = 0.0.0.0, культура = нейтральная, PublicKeyToken = null'.

Тип 'MetaNameValuePair' фактически определен в файле .cs в моей папке App_Code, а не во внешней сборке. Не удается скомпилировать этот файл .cs?

Ответы [ 4 ]

10 голосов
/ 30 января 2009

Попытка 1:

Аналогичный вопрос был задан пару месяцев назад и посмотрите на эти ответы.

Попытка 2:

Вы очистили «Временные файлы ASP.Net» для сайта, обычно находящиеся в C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Временные файлы ASP.NET? Там может быть старая копия.

7 голосов
/ 10 декабря 2010

В некоторых особых случаях вы можете избавиться от этого, если отключите пакетную компиляцию в файле Web.config, например:

<system.web>
    ...
    <compilation debug="true" targetFramework="4.0" batch="false" />
    ...
</system.web>

После компиляции вы можете изменить значение обратно на True или удалить атрибут "batch", а затем успешно перестроить.

0 голосов
/ 30 ноября 2015

Указанные выше решения работали для меня в прошлом, но не в этот раз.

Я наконец нашел причину: один из этих тегов на стороне сервера (например, <% # Eval ("Something")%> ) из атрибута элемента управления на странице aspx.

Я добавил его незадолго до того, как появилась проблема, и устранение проблемы заставило ее исчезнуть. Это было в TemplateField на GridView.

Причудливый, но вот что сделал трюк.

0 голосов
/ 27 октября 2015

Ни одно из решений не сработало для меня. Код, на который он жалуется, таков:

thisSession = ((SiteMasterPage)this.Master).foo;

Я преобразую общую главную страницу страницы в конкретную главную страницу, которая предоставляет мне доступ к объекту foo на главной странице страницы, который является сложным объектом с тривиальными пользовательскими данными.

Если вы хотите знать, почему я это делаю, это потому, что пока это лучшее решение. Требования диктуют, что я не могу расширять класс страницы, переменные сеанса или файлы cookie, и это должны быть данные, специфичные для пользователя.

У меня недостаточно репутации, чтобы комментировать, поэтому я должен ответить в ответе. (

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