单独程序集中的 EditorTemplate 模板

Pol*_*ial 2 class-library .net-assembly mvc-editor-templates asp.net-core-mvc asp.net-core

是否可以将 ASP.NET Core Web 应用程序配置为使用编译EditorTemplate到类库/单独程序集中的 razor 页面?

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

ASP.NET MVC 6:在单独的程序集中查看组件

Pol*_*ial 5

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

在Web应用程序中:添加ConfigureServices()类模块程序集作为文件提供程序(通过程序集中任何类或接口的类型获取程序集):

var library = typeof(Library.SomeClass).GetTypeInfo().Assembly;
services.AddMvc()
    .AddRazorOptions(options =>
    {
        options.FileProviders.Add(new EmbeddedFileProvider(library));
    });
Run Code Online (Sandbox Code Playgroud)

在类模块中:确保包含编辑器模板的目录结构与 Web 应用程序中的目录结构相同Views\Shared\EditorTemplates

在类模块中:通过将以下内容添加到您的:将剃刀视图嵌入为资源project.json

"buildOptions": {
  "embed": "Views/**"
}
Run Code Online (Sandbox Code Playgroud)