Плагины не гарантированно включают какие-либо страницы, поэтому я хочу добавлять только сборки, содержащие файлы с директивой @page.
Я провел некоторую отладку и обнаружил, что классы, созданные для файлов .razor, имеют установленный [Microsoft.AspNetCore.Components.RouteAttribute], поэтому я предполагаю, что директива @page преобразуется в [Route].
Атрибут [Route], однако, также можно использовать на контроллерах, которые добавляются по-другому (
Код: Выделить всё
.MapControllers()Вероятно, я мог бы исключить типы, которые также имеют атрибут [ApiController], или добавить проверки для еще большего количества атрибутов (или наследования), но я чувствую, что это может быстро выйти из-под контроля.
Это в .NET 8 с использованием шаблона веб-приложения Blazor с режимом рендеринга сервера.
Есть ли способ проверить, содержит ли сборка какие-либо файлы .razor (будь то страницы или компоненты), или, альтернативно, проверить, является ли сборка «библиотекой классов Razor» или нет просто «Библиотека классов»?
Подробнее здесь: https://stackoverflow.com/questions/788 ... components
Мобильная версия