为什么Visual Studio不告诉我错误在视图中?

时间:2011-08-19 12:53:25

标签: c# visual-studio asp.net-mvc-3

我做了一些有点傻事 - 我创建了一个新项目,称之为“目录”,没有意识到并忘记了这是一个语言/保留词。

无论如何,我有我的设计简介并且继续工作。

经过几个小时后,我第一次准备建造,并且建造得很好。然后我跑去跑了,但没用。

(此时,我打开了View Compiling)

在尝试理解错误后,我意识到为什么它不起作用,我去了地方重命名。

我将项目和解决方案名称从Directory更改为WebDirectory,我更改了所有可以看到它的引用。

但是,该项目不会编译,它给了我这些错误:

enter image description here

在进入此文件并尝试更好地理解之后,我可以看到我错过了重命名一些视图。我打开这些视图的那一刻,我得到以下错误:

enter image description here

现在,如果我立即收到这些错误,那么我就可以更容易地看到错误的位置/位置。

我打开了编译视图并且我猜测第一个图像是在编译视图中显示的错误,但是,为什么实际上没有在视图中显示错误,它更能够做到(看第二张图片,这比第一张图片更有帮助/更有用,因为我甚至无法改变它们!?

(如果有人可以告诉我重命名项目所在的文件夹是否安全,现在我已经从VS中重命名了项目/解决方案,那么奖励积分/不值得单独提问)

1 个答案:

答案 0 :(得分:1)

这可能是因为Razor引擎虽然很好地集成到VS中,但它并不是IDE的固有部分。请记住,MVC是一个附加库。

您看到第一个屏幕截图的CS文件可能是从“编译视图”打开后生成的CS。在您打开编译视图之前,这些文件根本不存在。打开编译视图创建它们并给你一个编译错误(.cshtml文件在你访问页面之前不会编译,因此不符合编译错误)。

第二个截图来自打开cshtml文件,它允许Razor有机会编译评估它们并显示“伪编译时”错误。剃刀尝试在编译时编译项目中的所有.cshtml文件(而不是页面查看时间)可能是最困难的,在最坏的情况下在语义上是不可能的。