sqlite - Qu'est-ce qu'un assemblage en mode mixte?




.net-4.0 assemblies (2)

Il existe un moyen de produire un assemblage en mode mixte à partir d'IL pure. La dernière partie de la création d'un assemblage utilisant la réflexion implique un appel à AssemblyBuilder.Save . Si vous passez simplement PortableExecutableKinds.Required32Bit pour l'argument portableExecutableKind, vous allez créer un assembly en mode mixte. Vous pouvez éviter les problèmes que cela provoque en passant également PortableExecutableKinds.ILOnly. c'est à dire


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

Inutile de dire que cette information a été durement gagnée ...

Je regarde la page téléchargement de System.Data.SQLite, et il énumère l'assemblée de mode mélangé pour .NET 4 et un régulier (je suppose). Mon projet qui va utiliser cette bibliothèque est tout .NET 4 qui sera compilé en x86.

J'ai 2 questions:

  1. Qu'est-ce qu'un assemblage en mode mixte? Google renvoie un tableau confus de réponses, dont aucune n'a beaucoup de sens. Une réponse indique qu'il s'agit de mélanger le code natif et managé, tandis que d'autres réclament le mélange des versions .Net.
  2. Quel téléchargement dois-je obtenir pour ma situation?

Tiré de la FAQ officielle

(14) Qu'est-ce qu'un assemblage en mode mixte?

Un assembly en mode mixte est une bibliothèque de liens dynamiques qui contient à la fois du code managé et du code natif pour une architecture de processeur particulière. Comme il contient du code natif, il ne peut être chargé que dans un processus correspondant à l'architecture de processeur pour laquelle il a été compilé. Voir aussi cette question .

Il fait même référence à cette question!





system.data.sqlite