在temp目录中自动生成"App_Web********.cs"文件,导致生成错误

Gra*_*ham 48 asp.net-mvc visual-studio-2013

所以这一直困扰我一段时间,但有时候在我的Visual Studio 2013 ASP.NET MVC4项目中,我将删除一个未使用的ViewModel类,并在下一个看起来像这样的编译时出错(对于一个名为"的ViewModel")我刚删除的MostRecentMemberListing.cs:

错误9名称空间'MembershipCenter.ViewModels'中不存在类型或命名空间名称'MostRecentMemberListing'(您是否缺少程序集引用?)c:\ Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\temp\3e932790\42b7ff67\App_Web_cvlbfbci.1.cs 29会员中心

如果我双击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有关吗?我正在运行本地IIS,而不是IIS Express.

Tom*_*mmy 63

这与本地或其他方式的IIS无关.您看到的那个冗长,奇怪的文件名是编译器在编译时为视图指定的名称.您所描述的所有内容都告诉您,您的某个视图中存在编译错误.它可能是不匹配的HTML标签,糟糕的模型属性调用等.

查看您的错误消息,您有一个视图/Views/Home/MostRecentMember.cshtml.此外,您确实要么缺少模型声明的命名空间,要么为您尝试发送的模型声明了错误的命名空间.

删除奇怪命名的文件将无效,因为重建时,它将返回,很可能使用不同的名称.

  • 对web.config的`<namespaces>`部分中的程序集的错误引用也会导致此行为. (12认同)
  • 它试图编译不再包含在项目中的视图:(非常悲伤. (7认同)
  • 你完全正确!我忘了我有一个View(`/ Views/Home/MostRecentMember.cshtml`),它使用新删除的类作为模型.当我删除引用不存在的模型的View时,编译器错误就消失了.谢谢. (4认同)

dib*_*487 11

今天我再次遇到这个问题,visual studio中必定存在一个错误,导致它尝试编译views文件夹中的所有cshtml文件.即使他们不是项目的一部分.您最好的选择是单击解决方案资源管理器中的显示所有文件,找到流氓文件并将其删除.

  • 与这些临时文件战斗了一个小时之后,事实就是如此!啊... (3认同)