EditorTemplate模板在单独的程序集中

时间:2017-01-17 18:15:06

标签: asp.net-core asp.net-core-mvc .net-assembly class-library mvc-editor-templates

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

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

ASP.NET MVC 6: view components in a separate assembly

1 个答案:

答案 0 :(得分:4)

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

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

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

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

在课程模块中:将剃须刀视图作为资源嵌入,将以下内容添加到project.json

"buildOptions": {
  "embed": "Views/**"
}