Sdílet prostřednictvím


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

Toto téma popisuje, jak vytvořit částečně důvěryhodnou společné Language Runtime aplikace pomocí Visual C++ tak, že se odstraní závislost na msvcm90.dll.

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

Pokud vaše aplikace nepoužívá žádné funkce C Runtime Library a chcete odebrat závislost na tuto knihovnu z vašeho kódu, je nutné použít /NODEFAULTLIB:msvcmrt.lib propojovacího a propojení s ptrustm.lib nebo ptrustmd.lib.Tyto knihovny obsahují soubory objekt pro inicializaci a uninitialization aplikace, používá kódem inicializace třídy výjimek 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í uninitialization sestavení se může lišit u aplikací, které používají knihovny ptrust.Pro běžné aplikace jsou obvykle v obráceném pořadí, které jsou načteny, ale to není zaručeno, že uvolňování sestavení.Pro částečné důvěryhodnosti aplikace jsou obvykle sestavení vyloženo ve stejném pořadí, které jsou načteny.To také není zaručeno.

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

  1. Chcete-li odebrat závislost na msvcm90.dll, je nutné zadat do propojovacího programu se pomocí této knihovny /NODEFAULTLIB:msvcmrt.lib možností propojovacího programu.Informace jak provést 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, pokud vytváříte aplikace v režimu vydání.Režim ladění pomocí ptrustmd.lib.Informace jak provést pomocí vývojového prostředí Visual Studio nebo programově, viz Soubory .Lib jako vstup linkeru.

Viz také

Referenční dokumentace

/link (předání možností linkeru)

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 kódu a kódu rozhraní .NET Framework