单独程序集中的 EditorTemplate 模板

EditorTemplate templates in a separate assembly

是否可以配置 ASP.NET 核心 Web 应用程序以使用编译成 class library/separate 程序集的 EditorTemplate razor 页面?

例如,以下问题详细说明了如何将 ViewComponent 编译成 class 库。不幸的是,我找不到任何关于对 EditorTemplate 页执行相同操作的信息。

GitHubpranavkm 的帮助下解决了这个问题。我需要的步骤如下:

在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/**"
}