У нас есть набор контроллеров, каждый из которых встроен в отдельные сборки.Эти контроллеры имеют дело с обработкой ошибок HTTP, отображением / обработкой форм, страницами администратора и т. Д. И могут / не могут быть добавлены в веб-решение в зависимости от потребностей сайта.
Каждый из этих контроллеров реализует ISharedController,пустой интерфейс просто для того, чтобы сборки контроллера можно было найти во время выполнения и добавить в качестве параметров бритвы.Вот фрагмент файла startup.cs:
services.AddMvc()
.AddRazorOptions(options =>
{
var scAssemblies = nameof(ISharedController).FindAllAssembliesContainingThisInterface();
foreach (var assembly in scAssemblies)
{
options.FileProviders.Add(new EmbeddedFileProvider(assembly));
}
});
//var type = typeof(AddressController.AddressController);
// type = typeof(AdminController.AdminController);
// type = typeof(ErrorController.ErrorController);
// type = typeof(FormController.Controllers.FormController);
// type = typeof(ShopController.Controllers.ShopController);
Веб-сайт запускается, и сборки / маршруты / представления все выполняются правильно.Однако я не могу установить точку останова ни в одной из сборок.Если я раскомментирую приведенные выше операторы "type =", я могу установить точку останова в сборке строки без комментария.
Я хотел бы автоматически обнаруживать эти включенные сборки при запуске.Есть идеи, что здесь происходит?
Спасибо за любую помощь.С наилучшими пожеланиями, Джимми