任何问题设置MVC 3 rc1 Razor cshtml文件Build Action to Compile?

时间:2010-11-18 12:38:53

标签: asp.net-mvc compilation razor buildaction

默认构建操作已从“无”更改为“内容”,据我所知支持Visual Studio发布/部署。

对于特定项目,我不使用Visual Studio发布/部署方法,也不需要从命令行进行编译。

将构建操作设置为“编译”似乎仍然可以编译,并且为cshtml中的任何编码错误生成编译时错误和警告的额外好处。

这似乎比通常的仅运行时错误带来了巨大的好处。

如果我将构建操作更改为“编译”,有人知道我将在以后遇到什么问题吗?

非常感谢..

编辑:我不确定除了VS部署或命令行编译之外我可能会遇到什么样的未来问题,但为了安全起见,我在他的评论中提到了预编译选项marcind提及。我将其标记为最接近的答案。

1 个答案:

答案 0 :(得分:4)

将Razor文件设置为“Compile”应该不起作用(我很惊讶你说它适合你),因为标记为“Compile”的文件会传递给适合你项目类型的语言编译器。大多数Razor文件都不是有效的C#或VB源文件,它们会产生编译错误。

看起来VS看起来很奇怪,并且在从IDE编译时并不总是显示错误。但是,直接从命令行编译项目时,它总是会失败。

所以回答你的问题

  1. 因为它不起作用
  2. 它不起作用(现在或以后)。事实上,当您发布/部署您的网站时,您的Razor文件将不会被复制。
  3. 技术上,“构建行动”需要是“内容”,因为这就是asp.net发布/部署的工作原理(在之前的预览中它是“无”,因为VS实际上并不了解Razor文件和这是默认行为;“改变”的目的是让事情发挥作用。