Я работаю как pnet -core 3.1, и у меня есть эта проблема; Я создаю приложение, оно использует dll, которые загружаются в configure, как вы можете видеть в следующем блоке:
//src is a Dictionary based in Assemblies dynamically loaded from dll-files.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
foreach (var src in srcs)
{
routes.MapRoute(
name : src.ControllerAlias ,
template : src.URL ,
defaults : new
{ controller = src.ControllerName , action = src.Action } ,
constraints: null,
dataTokens : new
RouteValueDictionary()
{ { "Namespaces", new string[] { src.NameSpace} } }
);
}
}
Контроллеры классов расположены в одном и том же пространстве имен в разных dll. Но это не проблема, потому что я могу создать экземпляр всех контроллеров классов (все наследование от контроллера)
Когда я загружаю DLL, я проверяю 3- mvc -контроллеры, и приложение может экземпляр классов.
Проблема в том, что URL / конечные точки / маршруты всегда возвращают 404. (Нет страницы)
class DLLModel
{
Assembly assmbly = null ,
string URL = "/WebServices/Home/Index.html";
string Controller = "HomeController"; // This is a classic Controller Example.
string Action = "Index";
string ControllerAlias = "HomeController.Index";
string NameSpace = "Sample.Package";
}
//...
var srcs = new Dictionary<string,DLLModel>();