Как отлаживать модули библиотеки классов Razor, загружаемые во время выполнения в Blazor WASMC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как отлаживать модули библиотеки классов Razor, загружаемые во время выполнения в Blazor WASM

Сообщение Anonymous »

Я создаю модульное приложение Blazor WebAssembly, в котором отдельные «модули» библиотек классов Razor загружаются как плагины во время выполнения. На эти модули не ссылается основная «оболочка» проекта Blazor WebAssembly, чтобы отделить разработку модулей от оболочки.
Текущий подход:
  • Модули компилируются независимо (в настоящее время в рамках одного и того же решения).
  • Библиотеки DLL и PDB модуля передаются в оболочку через API. >
  • Приложение оболочки динамически загружает эти модули с использованием AssemblyLoadContext.Default.LoadFromStream(dllStream, pdbStream).
Цель:
Мне нужно включить отладку динамически загружаемых модулей, когда отладчик подключен к процессу Blazor WebAssembly (оболочка) (в Docker). Разработчики модулей должны иметь возможность самостоятельно создавать свои модули, предоставлять библиотеки DLL/PDB для API, а затем отлаживать свой код, присоединяя его к работающей оболочке.
Среда:< /strong>
  • .NET 9
  • Blazor WebAssembly
  • Rider ( Visual Studio ведет себя как Rider)

Вопрос:

Возможно ли вообще следующее? Что мне следует сделать по-другому, чтобы добиться работоспособной отладки?
Пример кода:

Код: Выделить всё

// AssemblyLoader.cs
public async Task[*]> LoadAdditionalAssemblies()
{
var dll = await _httpClient.GetAsync("Modules/ModuleExample/ModuleExample.dll");
var pdb = await _httpClient.GetAsync("Modules/ModuleExample/ModuleExample.pdb");
await using var dllStream = await dll.Content.ReadAsStreamAsync();
await using var pdbStream = await pdb.Content.ReadAsStreamAsync();

var assembly = AssemblyLoadContext.Default.LoadFromStream(dllStream, pdbStream);

return [assembly];
}
Пример небольшого проекта: репозиторий Github
Проблема:
Отладка не работает должным образом. Когда я пытаюсь установить точку останова в коде модуля, IDE Rider отображает одно из следующих сообщений:

"/path/to/module/file.cs не найден среди загруженных документов символов"
[*]"Не найден связанный модуль для /path/to/module/file.cs"

Модуль не указан в Debug-Modules list, там только оболочка (в оболочке работает отладка).

Подробнее здесь: https://stackoverflow.com/questions/793 ... lazor-wasm
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как отлаживать модули библиотеки классов Razor, загружаемые во время выполнения в Blazor WASM
    Anonymous » » в форуме C#
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Как отладить модули библиотеки классов Razor, загруженные во время выполнения в Blazor Wasm
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Ссылка на страницу Razor из библиотеки классов Razor выдает ошибку 404.
    Anonymous » » в форуме C#
    0 Ответы
    51 Просмотры
    Последнее сообщение Anonymous
  • Ссылка на страницу Razor из библиотеки классов Razor выдает ошибку 404.
    Anonymous » » в форуме C#
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • Почему мое приложение Blazor Wasm загружает 90 файлов .wasm при каждом обновлении страницы?
    Anonymous » » в форуме C#
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»