Share via


# použití směrnice (C++)

Importuje metadat do program zkompilován s /clr.

#using file [as_friend]

Parametry

  • file
    MSIL dll, exe.netmodule, nebo. obj.Příklad:

    #using <MyComponent.dll>

  • as_friend
    Určuje, že všechny typy v file jsou přístupné.Další informace naleznete v tématu Sestavení přítele (C++).

Poznámky

filelze zprostředkující jazyk (MSIL) soubor Microsoft importu pro jeho spravovaná data a spravované konstrukce.Pokud obsahuje soubor DLL manifestu sestavení, pak jsou importovány všechny knihovny DLL odkazuje manifest a sestavení vytváříte seznam soubor v metadatech jako odkaz na sestavení.

Pokud file sestavení neobsahuje (Pokud file je modul) a pokud nezamýšlíte použít typ informací z modulu v aktuální aplikaci (sestavení), máte možnost pouze znamená, že modul je součástí sestavení; použít /ASSEMBLYMODULE.Typy v modulu se by potom aplikaci, který odkazuje sestavení.

Alternativou k použití #using je /FU volba kompilátoru.

EXE sestavení předány #using být zkompilován s /clr:safe nebo /clr:pure, nebo s jakoukoli další Visual Studio kompilátory (Visual Basic nebo Visual C#, například).Při pokusu o import metadat ze sestavení exe kompilována s /clr způsobí výjimku pro načítání souborů.

[!POZNÁMKA]

Součást, která je popsána s #using lze spustit s jinou verzi souboru při kompilaci, importu způsobuje neočekávané výsledky klientské aplikace.

Aby kompilátor rozpoznat typ v sestavení (není modul) musí povinně vyřešit typ, který je možné provést, například definováním instanci typu.Jinými způsoby řešení názvy typů v sestavení pro kompilátor, například pokud dědit z typu v sestavení, název typu se pak stanou známé kompilátoru.

Při importu metadat z zdrojový kód, který používá __declspec(thread), podproces sémantiku nepřetrvají v metadatech.Například proměnná deklarována s __declspec(thread), v programu, který je pro sestavení zkompilovaných.NET Framework společného jazykového modulu runtime a potom importovat pomocí #using, nebude již __declspec(thread) sémantika proměnné.

Importovat všechny typy (spravované i nativní) v souboru odkazuje #using jsou k dispozici, ale kompilátor zpracovává nativní typy jako prohlášení není definice.

mscorlib.dll odkazuje automaticky při kompilaci s /clr.

Určuje proměnnou prostředí LIBPATH adresářů, které budou prohledávány při kompilátor pokusí přeložit názvy souborů předán #using.

Kompilátor bude hledat odkazy v následující cestě:

  • Cesta zadaná v #using prohlášení.

  • Aktuální adresář.

  • Na.NET Framework systémového adresáře.

  • Přidáno adresářů /AI volba kompilátoru.

  • Adresářů na proměnnou prostředí LIBPATH.

Příklad

Vytváření sestavení (C) a odkaz na sestavení (B), aby sama odkazuje na sestavení jiného (A), jste explicitně odkazovat a sestavení jednoho a explicitně pomocí typů v C.

// using_assembly_A.cpp
// compile with: /clr /LD
public ref class A {};

// using_assembly_B.cpp
// compile with: /clr /LD
#using "using_assembly_A.dll"
public ref class B {
public:
   void Test(A a) {}
   void Test() {}
};

V následující ukázce je žádné chyby kompilátoru pro odkazování není using_assembly_A.dll, protože program nepoužívá žádné typy definované v using_assembly_A.cpp.

// using_assembly_C.cpp
// compile with: /clr
#using "using_assembly_B.dll"
int main() {
   B b;
   b.Test();
}

Viz také

Referenční dokumentace

Direktivy preprocesoru