# 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();
}