Подтвердить что ты не робот

Автогенерируемые файлы "App_Web ********. Cs" в каталоге temp, вызывающие ошибки сборки

Итак, это немного исказило меня, но иногда в моем проекте ASP.NET MVC4 для Visual Studio 2013 я удалю неиспользуемый класс ViewModel и вы получите ошибку в следующем компиляторе, который выглядит так (для ViewModel называется "MostRecentMemberListing.cs", который я только что удалил):

Ошибка 9 Тип или имя пространства имен "MostRecentMemberListing" не существуют в пространстве имен "MembershipCenter.ViewModels" (вам не хватает сборка ссылка?) c:\Windows\Microsoft.NET\Framework\v4.0.30319\Временная ASP.NET Файлы \temp\3e932790\42b7ff67\App_Web_cvlbfbci.1.cs 29 MembershipCenter

Если я дважды щелкнул ошибку в панели "Список ошибок" VS, он откроет файл, расположенный по этому пути: C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\temp\3e932790\42b7ff67, который представляет собой системный файл вида (?) с именем класса _Page_Views_Home_MostRecentMember_cshtml.

Я попытался удалить сам странный файл, а также папку, содержащую его, и папку, содержащую ITS, вплоть до пути к папке temp в Temporary ASP.NET Files. Но каждый раз, когда я повторно компилирую свой проект, все эти папки и файлы воссоздаются в нем напрямую, и я получаю ту же ошибку компиляции.

Я создаю свои представления во время компиляции через <MvcBuildViews>true</MvcBuildViews> в файле проекта. Если я выключу этот параметр, я смогу построить + запустить просто отлично, но когда я верну его обратно к true, ошибка сборки вернется.

Кто-нибудь сталкивался с этой ошибкой раньше? Связано ли это с IIS? Я запускаю Local IIS, а не IIS Express.

4b9b3361

Ответ 1

Это не относится к IIS, локальному или другому. Это длинное, странное имя файла, которое вы видите, - это имя, которое компилятор дает представлению при его компиляции. Все, что вы описали, говорит вам, что у вас есть ошибка компиляции в одном из ваших представлений. Это могут быть несогласованные HTML-теги, неправильный вызов свойств модели и т.д.

Глядя на ваше сообщение об ошибке, у вас есть представление в /Views/Home/MostRecentMember.cshtml. Кроме того, похоже, что вы действительно или пропустили пространство имен для объявления модели или объявили неправильное пространство имен для модели, которую вы пытаетесь отправить.

Удаление странного имени файла ничего не сделает, как при восстановлении, оно вернется, скорее всего, с другим именем.

Ответ 2

У меня было это снова сегодня, должна быть ошибка в visual studio, которая заставляет его попробовать и скомпилировать все файлы cshtml в папке views. Даже если они не являются частью проекта. Лучше всего нажать кнопку "Показать все файлы в проводнике решений", найти файл-изгоев и удалить его.

Ответ 4

Эта ошибка означает, что ваше представление использует модель, которая не может быть найдена. Обычно это происходит, когда вы рефакторируете/удаляете модель без обновления просмотров!

Фиксирование ссылки на модель в затронутом представлении должно решить эту проблему.

Else, попробуйте очистить каталог ASP.Net temp: C:\Windows\Microsoft.NET\Framework\v4.0.30319\Временные файлы ASP.NET

Ответ 5

У меня тот же вопрос, и я обнаружил, что проблема заключается в чувствительном пространстве имен С#. Пространство имен в файле .cshtml представления является верхним "@model IEnumerable", а пространство имен пространства класса имеет формат Camel "Abc.Def.Class".

Я изменяю пространство имен в .cshtml на формат Camel, и он запускается.

Ответ 6

Я столкнулся с той же ошибкой после того, как изменил пространство имен веб-приложения, я также переименовал свое решение и веб-проект. После множества хитростей и советов, наконец, это решение сработало для меня.

  1. Я проверил файлы приложения App_start, чтобы найти ссылку на старое пространство имен, и ничего не нашел
  2. Затем я искал web.config и Global.asax, но безуспешно.
  3. Наконец, я поискал в web.config, указанном в папке Views в решении, и там нашел ссылку на старое пространство имен. Изменил это на NewNamespace и запустил приложение. На этот раз это сработало.

Ответ 7

enter image description here

У меня была эта глупая проблема, если вы заметили, что папка QuestionAnswer - это значок папки, которая не включена в проект, и файл внутри нее ссылается на модель, которая не существует или находится в том же состоянии, что и файл, исключенный из проекта.

Я должен был выбрать свой проект и показать все файлы в обозревателе решений, как на картинке ниже enter image description here

Затем я удалил папку, файл и модель, которая также была исключена из проекта, что привело к ошибке сборки. Я надеюсь, что фотографии помогают и счастливого кодирования.