В чем разница между статической и динамической сборкой. Только тот факт, что можно загружать из файла, а другой можно создать во время работы программы?Типы сборки - в чем разница
ответ
Статические сборки могут включать в себя типы .NET Framework (интерфейсы и классы), а также ресурсы для сборки (растровые изображения, файлы JPEG, файлы ресурсов и т. Д.). Статические сборки хранятся на диске в портативных исполняемых файлах (PE). Вы также можете использовать .NET Framework для создания динамических сборок, которые запускаются непосредственно из памяти и не сохраняются на диске перед выполнением. Вы можете сохранить динамические сборки на диск после их выполнения.
Статические сборки - это те сборки, которые хранятся на диске постоянно. Они могут включать классы .NET Framework, интерфейсы, а также файл ресурсов. Эти сборки не загружаются непосредственно из памяти, а непосредственно загружаются с диска, когда CLR (Common Language RunTime) запрашивает их. Эти сборки используются для хранения на диске в виде файла или набора файлов. Всякий раз, когда компилируется код C#, вы получаете сборки STATIC.
Динамические сборки - это те сборки, которые не хранятся на диске перед исполнением, фактически после выполнения они сохраняются на диске. Когда их запускает среда выполнения .NET, они загружаются напрямую из памяти не с диска. Reflection emit предоставляет множество способов создания динамических средств сборки. Они создаются в памяти с использованием пространства имен System.Reflection.emit. В пространстве имен System.Reflection.Emit содержатся классы, которые позволяют компилятору или инструменту генерировать метаданные и промежуточный язык Microsoft (MSIL) и необязательно создать PE-файл на диске. Когда приложение требует типов внутри этих сборок, эти динамические сборки создаются динамически во время выполнения.
Простыми словами: статические сборки, которые обычные соединения, с которыми мы ежедневно взаимодействуем с ним, загружают, разрешают их и т. Д., А динамические сборки, которые вы создают его с отражением и вызовом.
Источники информации: http://www.dotnetheaven.com/article/static-assembly-vs-dynamic-assembly-in-csharp и MSDN
также я просто пытаюсь читать и работать с 'System.Reflection.Emit' - может создать (используя пошаговое руководство) некоторый результат приложения - полученный класс, которым можно управлять 1 из 4 вариантов - в соответствии с' AppDomain.DefineDynamicAssembly () 'и' AssemblyBuilderAccess '- отражение, Run, RunANdSave, Save. Попробуйте использовать save. Теперь я его сохранил - получил lib (файл .dll), но все равно не вижу, когда это может быть полезно. – gbk
- 1. В чем разница между сборкой X86 и другими версиями сборки?
- 2. В чем разница между выпуском maven и плагинами сборки maven?
- 3. В чем разница между кодом сборки и байт-кодом?
- 4. В чем разница между дорожкой класса и контуром сборки
- 5. В чем разница между «Реальные типы» и «Арифметические типы» в C?
- 6. разница между используемой сборки и сборки ссылочного
- 7. В чем разница между пользовательским шагом сборки и событием после сборки?
- 8. чем разница
- 9. В чем разница
- 10. В чем разница?
- 11. В чем разница?
- 12. В чем разница?
- 13. В чем разница
- 14. В чем разница между:
- 15. В чем разница + = и +?
- 16. В чем тут разница?
- 17. В чем разница?
- 18. В чем разница?
- 19. В чем разница?
- 20. В чем разница?
- 21. В чем разница? : и ||
- 22. В чем разница? ASSEMBLER
- 23. В чем разница C#
- 24. В чем разница между ....?
- 25. В чем разница?
- 26. В чем разница между Type.IsPublic и Type.IsVisible
- 27. В чем разница между параметрами переименования
- 28. чем разница между * и Object
- 29. В чем разница между $ (ProjectDir) и $ (MSBuildProjectDir)?
- 30. В чем разница между .NetCoreApp и .NetStandard.Library?
Хороший вопрос! Просто, но не обрабатывается много! –