Sdílet prostřednictvím


Postupy: Vytvoření částečně důvěryhodné aplikace odebráním závislosti na knihovně DLL knihovny CRT.

Toto téma popisuje, jak vytvořit částečně důvěryhodného společného jazykového modulu Runtime aplikace pomocí Visual C++ odebráním závislost na msvcm90.dll.

Aplikace Visual C++ s /clr bude mít závislost na msvcm90.dll, což je část C Runtime Library. Pokud chcete použít v částečně důvěryhodném prostředí aplikace, bude vynuceno CLR určitá pravidla zabezpečení přístupu kódu pro knihovny DLL. Proto bude nutné odebrat tuto závislost, protože obsahuje msvcm90.dll nativního kódu a nelze na něj vynutit zásady zabezpečení přístupu ke kódu.

Pokud aplikace nepoužívá žádné funkce C Runtime Library a chcete odebrat závislost na tuto knihovnu v kódu, budete muset použít /NODEFAULTLIB:msvcmrt.lib možnost linker a propojení s ptrustm.lib nebo ptrustmd.lib. Tyto knihovny obsahují soubory objekt pro inicializaci a uninitialization aplikace, používá kódem inicializace tříd výjimek a spravovaný kód zpracování výjimek. Propojení v jednom z těchto knihoven odeberete všechny závislosti na msvcm90.dll.

Poznámka

Pořadí uninitialization sestavení lišit pro aplikace, které používají knihovny ptrust. Pro běžné aplikace jsou obvykle sestavení uvolněn v obráceném pořadí, jsou načteny, ale to není zaručeno. Pro částečné důvěryhodnosti aplikace obvykle sestavení vyloženo ve stejném pořadí jsou načteny. To také není zaručeno.

Vytvoření částečně důvěryhodného smíšené (/ clr) aplikace

  1. Odebrat závislost na msvcm90.dll, musíte zadat do linker nezahrnout pomocí této knihovny /NODEFAULTLIB:msvcmrt.lib možnost linker. Informace, jak to udělat pomocí vývojového prostředí Visual Studio nebo programově, viz /NODEFAULTLIB (Ignore Libraries).

  2. Vstupní závislostí linker, přidejte jedno z knihovny ptrustm. Pokud vytváříte aplikace v režimu vydání pomocí ptrustm.lib. Režim ladění pomocí ptrustmd.lib. Informace, jak to udělat pomocí vývojového prostředí Visual Studio nebo programově, viz .lib Files as Linker Input.

Viz také

Odkaz

/link (Pass Options to Linker)

Koncepty

Smíšená (nativní a spravovaná) sestavení

Inicializace smíšených sestavení

Podpora knihovny pro smíšená sestavení

Další zdroje

Security in Native and .NET Framework Code