sqlite - Что такое сборка смешанного режима?




.net-4.0 assemblies (2)

Взято из официального FAQ

(14) Что такое сборка в смешанном режиме?

Комбинация смешанного режима представляет собой динамическую библиотеку ссылок, которая содержит как управляемый код, так и собственный код для конкретной архитектуры процессора. Поскольку он содержит собственный код, он может быть загружен только в процесс, соответствующий архитектуре процессора, для которой он был скомпилирован. Также см. Этот вопрос StackOverflow.

Он даже ссылается на этот вопрос!

Я просматриваю page загрузки System.Data.SQLite и перечисляет сборку смешанного режима для .NET 4 и регулярную (предположим). Мой проект, который будет использовать эту библиотеку, - это все .NET 4, которые будут скомпилированы для x86.

У меня есть 2 вопроса:

  1. Что такое сборка в смешанном режиме? Google возвращает запутанный массив ответов, ни один из которых не имеет большого смысла. В одном из ответов говорится, что речь идет о смешении собственного и управляемого кода, в то время как другие утверждают, что он предназначен для микширования версий .Net.
  2. Какую загрузку я должен получить для своей ситуации?

Существует способ создания сборки в смешанном режиме из чистого ИЛ. Заключительная часть создания сборки с использованием отражения включает вызов AssemblyBuilder.Save . Если вы просто передадите PortableExecutableKinds.Required32Bit для аргумента portableExecutableKind, вы создадите сборку в смешанном режиме. Вы можете избежать возникающих проблем, также передавая PortableExecutableKinds.ILOnly. т.е.


    assembly_bldr.Save(exe_name, PortableExecutableKinds.Required32Bit | PortableExecutableKinds.ILOnly, ImageFileMachine.I386 );

Излишне говорить, что эта информация была сильно выиграна ...





system.data.sqlite