Проблема с очисткой ASP.NET Кэш временных файлов

#asp.net #asp.net-mvc #iis-7.5 #iis-express

#asp.net #asp.net-mvc #iis-7.5 #iis-express

Вопрос:

Я нахожусь в тупике, борясь уже более двух часов.

ASP.NET В кэше временных файлов все еще хранится старая копия моих сборок, и в результате я не могу запустить свое приложение.

На самом деле я изменил имя одного из своих классов с HomePage на HomePageViewModel . Итак, когда я запускаю свое приложение сейчас, оно по-прежнему извлекает старые сборки из кэша, что бы я ни делал, и сообщает:

 2014-06-25 21:17:30,840 [13] ERROR ExceptionLogger 
Error: System.Web.HttpCompileException (0x80004005): 
c:UserscomputerAppDataLocalTempTemporary ASP.NET 
Filesroot0ee70bca3973e798App_Web_index.cshtml.a8d08dba.na12ukjv.0.cs(30): 
error CS0234: The type or namespace name 'HomePage' does 
not exist in the namespace 'MyProduct.Web.Presentation.
ViewModels' (are you missing an assembly reference?)
  

Я уже много раз делал следующее:

 a) Closed Visual Studio

b) Stopped IIS using the Internet Services 
Manager (inetmgr.exe) tool.

c) Stopped the World Wide Publishing Service from 
the Services applet in the Control Panel

d) Deleted all files from the %tmp%Temporary 
ASP.NET Files folder

e) Deleted all files from the %windir%temp folder

f) Deleted all files from the %windir%Microsoft.NET
Frameworkv4.0.30319Temporary ASP.NET Files folder

g) Deleted all files from the %windir%Microsoft.NET
Framework64v4.0.30319Temporary ASP.NET Files folder

h) Started the WWW service (the one stopped in step c) 
and IIS from inetmgr.exe.

i) Opened and started debugging my ASP.NET MVC Web 
application project
  

В свойствах проекта я настроил проект для запуска в IISExpress вместо локального IIS.

Я использую 64-разрядную версию Windows 7 Home Premium.

Есть ли что-то еще, что мне нужно сделать?

Комментарии:

1. Какую ошибку или исключение вы получаете при попытке запустить свое приложение?

2. @Khan Спасибо, я обновил вопрос, включив в него информацию об ошибке.

Ответ №1:

У меня была аналогичная проблема: после настройки пространства имен проекта, глобального переименования WebApplication3 на другое имя, выполнение полного поиска решения не помогло, поскольку расширение .config не было указано подстановочным знаком. В любом случае, любой, кто столкнулся с подобной проблемой, проверьте файлы web.config как в корневом каталоге проекта, так и в папке views

   <system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
  <namespaces>
    <add namespace="System.Web.Mvc" />
    <add namespace="System.Web.Mvc.Ajax" />
    <add namespace="System.Web.Mvc.Html" />
    <add namespace="System.Web.Routing" />
    **<add namespace="WebApplication3" />**
  </namespaces>
</pages>
  

Ответ №2:

Старайся, старайся, но никогда не говори «умри».

Исправлено. Это был мой код. У меня было старое имя в одном из моих представлений. Я не уверен, почему компилятор не сообщил мне о неправильном типе в объявлении модели этого представления.

В любом случае, 3 часа потрачены впустую. Усвоенный ценный урок: всегда проверяйте свой код. В основном это твоя собственная вина.

Ответ №3:

Просто предупреждаю, у меня была такая же проблема, оказывается, я не обновил пространства имен для своих файлов .cshtml (и создание вашего проекта не помечает это как проблему).

Комментарии:

1. Это интересно.