不管是ASP.Net Core还是.Net Framwork下的MVC框架,现在我们都可以从外部Dll中加载控制器和视图。其中我们最常用的方法如下:
以下代码放到 Startup类中的ConfigureServices 方法中,同时要求mytestcontrollers.dll放到运行程序的根目录,当然你使用绝对路径也可以。
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews()
.ConfigureApplicationPartManager(apm =>
{
var assembly = Assembly.Load("mytestcontrollers");
apm.AddApplicationPart(assembly);
}).AddControllersAsServices().AddRazorRuntimeCompilation();
}
以上方法是推荐方法。还有一种更简单的方法,我已经写在这里了:https://lebang2020.cn/details/210611cjry3y5o.html
两个方法都可以,但是要注意不能有相同的controller,不然会起冲突。