Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous pouvez utiliser un fichier MSIL .obj (compilé avec /clr) comme .netmodule fichier.
.obj les fichiers contiennent des métadonnées et des symboles natifs.
.netmodules contiennent uniquement des métadonnées.
Transmettez un fichier MSIL .obj à tout autre compilateur Visual Studio avec l’option du /addmodule compilateur. Le .obj fichier fait partie de l’assembly résultant et doit être fourni avec l’assembly. Par exemple, Visual C# et Visual Basic ont l’option du /addmodule compilateur.
Note
Dans la plupart des cas, vous devez passer au linker le .obj fichier à partir de la compilation qui a créé le module .net. Le passage d’un .dll fichier de module MSIL .netmodule à l’éditeur de liens peut entraîner LNK1107.
.obj les fichiers, ainsi que leurs fichiers associés .h , que vous référencez via #include dans la source, permettent aux applications C++ d’utiliser les types natifs dans le module. Dans un .netmodule fichier, seuls les types managés peuvent être consommés par une application C++. Si vous tentez de transmettre un .obj fichier à #using, les informations sur les types natifs ne sont pas disponibles. Au lieu de cela, #include le .obj fichier du .h fichier.
D’autres compilateurs Visual Studio peuvent uniquement utiliser des types managés à partir d’un module.
Utilisez les conseils suivants pour déterminer si vous devez utiliser un ou un .netmodule.obj fichier comme entrée de module dans l’éditeur de liens MSVC :
Si vous créez avec un compilateur Visual Studio autre que Visual C++, créez une
.netmoduleentrée et utilisez l’entrée.netmodulepour l’éditeur de liens.Si vous utilisez le compilateur MSVC pour produire des modules et si les modules sont utilisés pour générer quelque chose d’autre qu’une bibliothèque, utilisez les
.objfichiers produits par le compilateur comme entrée de module pour l’éditeur de liens. N’utilisez pas le.netmodulefichier comme entrée.Si vos modules sont utilisés pour générer une bibliothèque native (et non gérée), utilisez
.objdes fichiers comme entrée de module pour l’éditeur de liens et générez un.libfichier de bibliothèque.Si vos modules sont utilisés pour générer une bibliothèque managée et si toutes les entrées de module à l’éditeur de liens sont vérifiables (produites avec
/clr:safe), utilisez.objdes fichiers comme entrée de module pour l’éditeur de liens et générez un.dllfichier de bibliothèque (assembly) ou.netmodule(module).Si vos modules sont utilisés pour générer une bibliothèque managée et si une ou plusieurs entrées de modules à l’éditeur de liens sont produites avec uniquement
/clr, utilisez.objdes fichiers comme entrée de module pour l’éditeur de liens et générez un.dll(assembly). Si vous souhaitez exposer des types managés à partir de la bibliothèque et si vous souhaitez également que les applications C++ consomment les types natifs dans la bibliothèque, votre bibliothèque se compose des.objfichiers des modules de composant bibliothèques. Vous souhaitez également expédier les.hfichiers pour chaque module afin qu’ils puissent être référencés avec #include à partir du code source.