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

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

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

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

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

非常感谢..

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

有帮助吗?

解决方案

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

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

所以回答你的问题

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

从技术角度来说,“构建操作”需要是“内容”,因为这就是 ASP.NET 发布/部署的工作方式(在早期预览中它是“无”,因为 VS 实际上并不了解有关 Razor 文件的任何信息,这是默认设置行为;“改变”的目的是让事情正常运转)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top