Sdílet prostřednictvím


Výběr formátu vstupních souborů .netmodule

Soubor .obj MSIL (kompilována s /CLR) lze použít také jako soubor .netmodule. obj soubory obsahují metadata a nativní symboly. .netmodules obsahovat pouze metadata.

Můžete předat jiné kompilátor Visual Studio obj souboru jazyka MSIL pomocí možnosti kompilátoru/addmodule (ale uvědomte si, že obj soubor se stane součástí výsledné sestavení a musí být součástí sestavení). Například Visual C# a Visual Basic mají možnost kompilátoru/addmodule.

[!POZNÁMKA]

Ve většině případů je třeba předat do propojovacího programu souboru obj od vytvoření modulu .net kompilace. Jedinou výjimkou je, pokud byl vytvořen .netmodule /clr: pure. Propojovací program předáním souboru DLL nebo .netmodule modul jazyka MSIL, může mít za následek LNK1107.

obj soubory a jejich přidružené .h soubory, které můžete odkazovat prostřednictvím #include zdroje, že v souboru .netmodule může být používán pouze spravované typy aplikací C++ umožňují C++ aplikací pro zpracování nativních typů v modulu. Pokud se pokusíte předat souboru obj #using, informace o nativní typy nebudou k dispozici. #include soubor .h souboru obj namísto.

Jinými kompilátory Visual Studio může spotřebovat pouze spravované typy z modulu.

Chcete-li zjistit, zda je nutné použít .netmodule nebo obj soubor jako vstup modulu propojovací program Visual C++, použijte následující:

  • Pokud vytváříte s kompilátorem sady Visual Studio než Visual C++, .netmodule vytvářet a používat .netmodule jako vstup do propojovacího programu.

  • Pokud používáte kompilátor Visual C++ pro výrobu modulů a pokud bude použit modulů sestavit něco jiného než v knihovně, pomocí obj soubory vytvořené pomocí kompilátoru jako modul vstup do propojovacího programu; Nepoužívejte soubor .netmodule jako vstup.

  • Pokud bude používat moduly pro sestavení knihovny nativního (nikoli spravované), obj soubory používat jako vstupní modul do propojovacího programu a generovat soubor knihovny LIB.

  • Moduly budou sloužit k vytváření spravované knihovny a všechny vstupní modul do propojovacího programu bude ověřitelné (vyrobené s/clr: safe), pomocí obj soubory jako vstup modulu do propojovacího programu a generovat DLL (sestavení) nebo soubor knihovny .netmodule (modul).

  • Moduly budou sloužit k vytváření spravované knihovny a všechny vstupní modul do propojovacího programu budou vytvořeny s/clr: pure nebo/CLR: safe, obj soubory používat jako vstupní modul do propojovacího programu a generovat DLL (sestavení) nebo .netmodule (modul), pokud chcete vystavit spravovaných typů z knihovny. Pokud chcete vystavit spravovaných typů z knihovny a pokud chcete také využívat nativní typy v knihovně C++ aplikace, knihovny budou tvořeny souborech OBJ pro moduly knihoven komponent (také můžete dodat .h soubory pro každý modul, takže můžete odkázat pomocí #include z zdrojový kód).

  • Moduly budou sloužit k vytváření spravované knihovny a jeden nebo více moduly vstup do propojovacího programu budou vytvořeny s pouze/CLR, obj soubory používat jako vstupní modul do propojovacího programu a generovat DLL (sestavení). Pokud chcete vystavit spravovaných typů z knihovny a pokud chcete také využívat nativní typy v knihovně C++ aplikace, knihovny budou tvořeny souborech OBJ pro moduly knihoven komponent (také můžete dodat .h soubory pro každý modul, takže můžete odkázat pomocí #include z zdrojový kód).

Viz také

Referenční dokumentace

Soubory .netmodule jako vstup linkeru