【发布时间】:2018-08-27 13:58:11
【问题描述】:
我正在尝试向我的应用程序添加类似插件的功能,并且很难找到预编译的视图。 所以可以说我有一个 Razor 类库,它编译为 plugin.dll 和 plugin.views.dll 我已成功加载并添加 plugin.dll
Assembly PLUGIN_ASSEMBLY = null;
try
{
PLUGIN_ASSEMBLY = Assembly.LoadFile(PLUGIN.PluginFileName);
Assembly.LoadFile(PLUGIN.PluginViewsFileName);
}
catch (FileLoadException)
{
throw;
}
然后用
添加程序集MVC_BUILDER.AddApplicationPart(PLUGIN_ASSEMBLY);
然后我添加插件基本路径,以便发现其正常视图
MVC_BUILDER.AddRazorOptions(o =>
{
IFileProvider physicalProvider = new PhysicalFileProvider(PLUGIN.BasePath);
IFileProvider compositeProvider = new CompositeFileProvider(physicalProvider);
o.FileProviders.Add(compositeProvider);
});
除了我只能使用物理位置的视图而不是 plugin.views.dll 中的视图之外,以上所有操作都很好
添加 views.dll 并使视图被发现的正确方法是什么?
【问题讨论】:
标签: c# razor asp.net-core-mvc asp.net-core-mvc-2.1