无法清除ASP.NET临时文件缓存

时间:2014-06-25 16:01:57

标签: 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:\Users\computer\AppData\Local\Temp\Temporary ASP.NET 
Files\root\0ee70bca\3973e798\App_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\
Framework\v4.0.30319\Temporary ASP.NET Files folder

g) Deleted all files from the %windir%\Microsoft.NET\
Framework64\v4.0.30319\Temporary 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家庭高级版。

我还需要做些什么吗?

3 个答案:

答案 0 :(得分:14)

我有类似的问题,在调整项目命名空间全局重命名WebApplication3到另一个名称后,执行整个解决方案搜索没有帮助,因为.config扩展名没有指定通配符。无论如何,任何人遇到类似问题,请检查web.config文件是否为项目根目录和视图文件夹

  <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>

答案 1 :(得分:9)

尝试,尝试但永远不要说死。

修正了它。这是我的代码。我的一个观点中有一个旧名称。我不知道为什么编译器没有告诉我该视图的模型声明中的错误类型。

无论如何,浪费了3个小时。宝贵的经验教训:始终检查您的代码。这主要是你自己的错。

答案 2 :(得分:1)

只是抬头,我有同样的问题,事实证明我没有更新我的.cshtml文件的名称空间(并且构建你的项目不会将此标记为问题)。