Asp.net mvc 为什么我不能按照VS2012的建议在临时ASP.NET文件中找到.cs文件?

Asp.net mvc 为什么我不能按照VS2012的建议在临时ASP.NET文件中找到.cs文件?,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,visual-studio-2012,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,Visual Studio 2012,我使用的是MVC3、C#、.NET4、VS2012 我试图找出一个程序集引用错误,根据VS2012,其原因文件是: c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\4ce30959\16e34b5\App_Web_orders.cshtml.b7021bbc.0.cs 但它似乎并不存在。没有任何名称与上述名称类似,其他名称具有“.compiled”或“.dll”扩展名。真是莫名其妙 错误是:

我使用的是MVC3、C#、.NET4、VS2012

我试图找出一个程序集引用错误,根据VS2012,其原因文件是:

c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\4ce30959\16e34b5\App_Web_orders.cshtml.b7021bbc.0.cs
但它似乎并不存在。没有任何名称与上述名称类似,其他名称具有“.compiled”或“.dll”扩展名。真是莫名其妙

错误是:

Error   51  The type or namespace name 'Document' does not exist in the namespace 'Orders.MVC3.' (are you missing an assembly reference?)   c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\4ce30959\16e34b5\App_Web_orders.cshtml.b7021bbc.0.cs 36  0   Orders.MVC3
那么我怎样才能找到App_Web_orders.cshtml.b7021bbc.0.cs呢

是的,我试过在我的硬盘上搜索它


提前感谢。

根据您的消息,您已经打开了
编译视图
,或者正在MVC项目中预编译您的站点。此错误具有误导性,因为作为编译视图的一部分,它在编译视图时会创建这些虚假且命名奇怪的文件。如果仔细查看错误,它会告诉您有一个名为
Orders.cshtml
的视图。此视图的模型似乎是
Orders.MVC3.Document
,它不存在。因此,您移动、重命名、重构或删除了该模型,导致无法再找到此视图的模型。

此外,您之前的问题的回答与此问题相同。在某些情况下,您正在更改模型,而没有相应地更新视图。奇怪的是,“Orders.cshtml”未被当前应用程序使用,并且未在“.csproj”中引用,虽然搜索了我的硬盘,但我发现我确实在应用程序的早期版本中使用过它,而且它确实存在于drop box驱动器和同一存档驱动器上的.csproj中。所以这是一个古老的参照物,似乎某处仍在试图参照它。它将从当前项目中排除和删除。如此困惑。因此,有什么原因导致预编译器找到这个旧的cshtml文件,这正是我不确定的…我刚刚在我当前的应用程序中发现了有问题的视图,但它被“排除”在项目之外。我在windows资源管理器文件搜索后找到了它。因此,我在VS2012中选择了“显示所有文件”,并将其完全删除。我认为“排除”会从项目中的任何引用中排除该文件??通常应该这样做,但它可能被缓存在obj/debug或release文件夹中。我通常不排除视图,所以我无法解释为什么它仍然被发现。我建议您使用源代码管理,并在不再需要它们时删除它们。如果您需要它,请使用源代码管理来获取:)@SamJolly我使用mercurial和bitbucket。@SamJolly-我想他们对我来说也差不多,我刚开始使用Mercurial。两个都试试,看看你更喜欢哪一个!至于重建,请考虑将compileviews选项设置为true。默认情况下,编译器不会编译视图,除非您使用项目配置文件中的
MvcBuildViews
选项预编译或告诉它