Подтвердить что ты не робот

Что такое "Анонимно размещенная структура динамических методов" и как я могу загрузить ее вручную?

Как разработчик .NET, строка

'<process name>' (Managed): Loaded 'Anonymously Hosted DynamicMethods Assembly'

вероятно, вам знакомо. Мой вопрос прост и понятен: что это за "Анонимно размещенная динамическая методология сборки" и могу ли я сделать его (предварительно) загружать вручную? Если да, то как? Это можно сделать с помощью Assembly.Load(...)?

4b9b3361

Ответ 1

System.Reflection.Emit содержит классы, которые позволяют создавать динамически генерируемый код, испуская IL-инструкции. Для этого используются классы DynamicMethod и AssemblyBuilder. IL обычно загружается из сборки, но нет сборки при генерации IL динамически. Однако объект сборки необходим, чтобы действовать как контейнер кода IL, а "поддельный" создается AppDomain.DefineDynamicAssembly(). Это то, что вы видите в уведомлении отладчика.

Вы не можете использовать Assembly.Load(), сборка создается динамически.

Ответ 2

Это для DynamicMethods и, следовательно, для выражений тоже.

Вы не можете загрузить его вручную.

Ответ 3

Я предполагаю, что это сборка, выпущенная во время выполнения. Поскольку для сохранения сборки на диск не требуется сохранить ее вручную (в этом случае, когда код закончит испускать сборку - в память), он будет автоматически использовать типы, определенные в сборке, - не нужно загружать ничего)

Для получения дополнительной информации см. документацию в msdn.

Лучшие