4

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

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

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

与通常的仅运行时错误相比,这似乎是一个巨大的好处。

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

非常感谢..

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

4

1 回答 1

4

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

看起来 VS 确实在做一些奇怪的事情,并且在您从 IDE 编译时并不总是显示错误。但是,当您直接从命令行编译项目时,它总是会失败。

所以回答你的问题

  1. 因为它不起作用
  2. 它不起作用(现在或以后)。事实上,当您发布/部署您的站点时,您的 Razor 文件不会被复制。

从技术上讲,“构建操作”必须是“内容”,因为这就是 asp.net 发布/部署的工作方式(在早期的预览中,它是“无”,因为 VS 实际上对 Razor 文件一无所知,这是默认设置行为;“改变”的目的是让事情发挥作用)。

于 2010-11-18T17:26:49.830 回答