单独程序集中的 EditorTemplate 模板
EditorTemplate templates in a separate assembly
是否可以配置 ASP.NET 核心 Web 应用程序以使用编译成 class library/separate 程序集的 EditorTemplate
razor 页面?
例如,以下问题详细说明了如何将 ViewComponent
编译成 class 库。不幸的是,我找不到任何关于对 EditorTemplate
页执行相同操作的信息。
在 GitHub 上 pranavkm 的帮助下解决了这个问题。我需要的步骤如下:
在web应用中:在ConfigureServices()
中添加class模块程序集作为文件提供者(通过任意[=的类型获取程序集32=] 或程序集内的接口):
var library = typeof(Library.SomeClass).GetTypeInfo().Assembly;
services.AddMvc()
.AddRazorOptions(options =>
{
options.FileProviders.Add(new EmbeddedFileProvider(library));
});
在 class 模块中: 确保包含编辑器模板的目录结构与 Web 应用程序中的相同 Views\Shared\EditorTemplates
。
在 class 模块中: 通过将以下内容添加到您的 project.json
中,将 razor 视图作为资源嵌入:
"buildOptions": {
"embed": "Views/**"
}
是否可以配置 ASP.NET 核心 Web 应用程序以使用编译成 class library/separate 程序集的 EditorTemplate
razor 页面?
例如,以下问题详细说明了如何将 ViewComponent
编译成 class 库。不幸的是,我找不到任何关于对 EditorTemplate
页执行相同操作的信息。
在 GitHub 上 pranavkm 的帮助下解决了这个问题。我需要的步骤如下:
在web应用中:在ConfigureServices()
中添加class模块程序集作为文件提供者(通过任意[=的类型获取程序集32=] 或程序集内的接口):
var library = typeof(Library.SomeClass).GetTypeInfo().Assembly;
services.AddMvc()
.AddRazorOptions(options =>
{
options.FileProviders.Add(new EmbeddedFileProvider(library));
});
在 class 模块中: 确保包含编辑器模板的目录结构与 Web 应用程序中的相同 Views\Shared\EditorTemplates
。
在 class 模块中: 通过将以下内容添加到您的 project.json
中,将 razor 视图作为资源嵌入:
"buildOptions": {
"embed": "Views/**"
}