Sdílet prostřednictvím


Jak: vytvoření aplikace částečně důvěryhodného odebráním závislost na CRT knihovny DLL

Toto téma popisuje vytvoření částečně důvěryhodného společného jazykového modulu Runtime aplikace 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, aby aplikace pro použití v částečně důvěryhodném prostředí, bude vynuceno CLR určitá pravidla zabezpečení přístupu kódu na knihovny DLL.Proto bude nutné odebrat tuto závislost, protože obsahuje msvcm90.dll nativního kódu a na ní nelze vynutit zásady zabezpečení přístupu kódu.

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

[!POZNÁMKA]

Pořadí sestavení uninitialization se může 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 jsou obvykle sestavení uvolněn ve stejném pořadí, které 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 (ignorovat knihovny).

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

Viz také

Referenční dokumentace

/Link (průchod možnosti Linker)

Koncepty

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

Inicializace smíšených sestavení

Podpora knihovny pro smíšená sestavení

Další zdroje

Zabezpečení v nativním režimu a.NET Framework kód