默认构建操作已从“无”更改为“内容”,据我所知支持Visual Studio发布/部署。
对于特定项目,我不使用Visual Studio发布/部署方法,也不需要从命令行进行编译。
将构建操作设置为“编译”似乎仍然可以编译,并且为cshtml中的任何编码错误生成编译时错误和警告的额外好处。
这似乎比通常的仅运行时错误带来了巨大的好处。
如果我将构建操作更改为“编译”,有人知道我将在以后遇到什么问题吗?
非常感谢..
编辑:我不确定除了VS部署或命令行编译之外我可能会遇到什么样的未来问题,但为了安全起见,我在他的评论中提到了预编译选项marcind提及。我将其标记为最接近的答案。
答案 0 :(得分:4)
将Razor文件设置为“Compile”应该不起作用(我很惊讶你说它适合你),因为标记为“Compile”的文件会传递给适合你项目类型的语言编译器。大多数Razor文件都不是有效的C#或VB源文件,它们会产生编译错误。
看起来VS看起来很奇怪,并且在从IDE编译时并不总是显示错误。但是,直接从命令行编译项目时,它总是会失败。
所以回答你的问题
技术上,“构建行动”需要是“内容”,因为这就是asp.net发布/部署的工作原理(在之前的预览中它是“无”,因为VS实际上并不了解Razor文件和这是默认行为;“改变”的目的是让事情发挥作用。