Asp.net mvc 剃须刀生成器构建操作

Asp.net mvc 剃须刀生成器构建操作,asp.net-mvc,Asp.net Mvc,我要说: 试试看。《快速入门指南》提到将构建操作切换为“无”。但是,这意味着不会发布视图。生成操作“内容”是否正确,因为这允许发布 谢谢。据我所知,RazorGenerator创建了一个Html帮助程序,您可以在视图中使用它。HtmlHelper被编译为一个带有扩展方法的类。它所基于的视图不应该发布,因为您不应该在项目中直接使用它。因此,视图应该将build action设置为none,正如快速入门中所述 快速入门中的步骤3演示了如何使用创建的Html帮助器: 嵌套文件将与项目一起编译,并且可

我要说:

试试看。《快速入门指南》提到将构建操作切换为“无”。但是,这意味着不会发布视图。生成操作“内容”是否正确,因为这允许发布


谢谢。

据我所知,RazorGenerator创建了一个Html帮助程序,您可以在视图中使用它。HtmlHelper被编译为一个带有扩展方法的类。它所基于的视图不应该发布,因为您不应该在项目中直接使用它。因此,视图应该将build action设置为none,正如快速入门中所述

快速入门中的步骤3演示了如何使用创建的Html帮助器:

嵌套文件将与项目一起编译,并且可以 作为常规辅助对象引用。e、 g.
Html.WriteSpan(“你好世界”)


据我所知,RazorGenerator创建了一个Html助手,您可以在视图中使用它。HtmlHelper被编译为一个带有扩展方法的类。它所基于的视图不应该发布,因为您不应该在项目中直接使用它。因此,视图应该将build action设置为none,正如快速入门中所述

快速入门中的步骤3演示了如何使用创建的Html帮助器:

嵌套文件将与项目一起编译,并且可以 作为常规辅助对象引用。e、 g.
Html.WriteSpan(“你好世界”)


Razor Generator的用途是预编译Razor视图,将cshtml文件中的标记转换为C#代码,在呈现视图时执行

如果将视图的“自定义工具”属性设置为“RazorGenerator”,则在保存视图时,在设计时可能会发生这种情况。或者,它可以通过集成Razor生成器MSBuild目标在构建时发生

正如您所提到的,没有Razor Generator,您通常会将视图的构建操作设置为“内容”。当第一次请求视图时,将在运行时解析标记,并在动态生成的程序集中提供已编译的视图。如果使用Razor Generator,则无需复制标记,因为已编译的视图已经是web程序集的一部分。这就是为什么可以在视图中将构建操作设置为“无”

其他详情:

  • Razor Generator通过将自己的
    预编译MVCEngine
    添加到
    视图引擎的集合中来扩展ASP.NET MVC。这用于根据请求定位已编译视图

  • PrecompiledMvcEngine
    有一些属性,如果设置了这些属性,引擎将检查磁盘上是否存在该视图,如果该视图比程序集中的预编译视图更新,则使用它。这在设计时非常有用,这样您就可以在不重建所有内容的情况下查看对视图所做的更改


Razor Generator的用途是预编译Razor视图,将cshtml文件中的标记转换为C代码,在呈现视图时执行

如果将视图的“自定义工具”属性设置为“RazorGenerator”,则在保存视图时,在设计时可能会发生这种情况。或者,它可以通过集成Razor生成器MSBuild目标在构建时发生

正如您所提到的,没有Razor Generator,您通常会将视图的构建操作设置为“内容”。当第一次请求视图时,将在运行时解析标记,并在动态生成的程序集中提供已编译的视图。如果使用Razor Generator,则无需复制标记,因为已编译的视图已经是web程序集的一部分。这就是为什么可以在视图中将构建操作设置为“无”

其他详情:

  • Razor Generator通过将自己的
    预编译MVCEngine
    添加到
    视图引擎的集合中来扩展ASP.NET MVC。这用于根据请求定位已编译视图

  • PrecompiledMvcEngine
    有一些属性,如果设置了这些属性,引擎将检查磁盘上是否存在该视图,如果该视图比程序集中的预编译视图更新,则使用它。这在设计时非常有用,这样您就可以在不重建所有内容的情况下查看对视图所做的更改