Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym temacie omówiono sposób tworzenia częściowo zaufanej aplikacji środowiska uruchomieniowego języka wspólnego przy użyciu języka Visual C++, usuwając zależność od msvcm90.dll.
Aplikacja Visual C++ skompilowana za pomocą narzędzia /clr będzie mieć zależność od msvcm90.dll, która jest częścią biblioteki języka C-Runtime. Jeśli chcesz, aby aplikacja była używana w środowisku częściowo zaufania, środowisko CLR będzie wymuszać pewne reguły zabezpieczeń dostępu do kodu dla biblioteki DLL. W związku z tym należy usunąć tę zależność, ponieważ msvcm90.dll zawiera kod natywny i nie można wymusić na nim zasad zabezpieczeń dostępu kodu.
Jeśli aplikacja nie używa żadnych funkcji biblioteki C-Runtime i chcesz usunąć zależność od tej biblioteki z kodu, musisz użyć opcji /NODEFAULTLIB:msvcmrt.lib linker i linku z biblioteką ptrustm.lib lub ptrustmd.lib. Te biblioteki zawierają pliki obiektów do inicjowania i niezainicjowania aplikacji, klas wyjątków używanych przez kod inicjowania i kodu obsługi wyjątków zarządzanych. Łączenie w jednej z tych bibliotek spowoduje usunięcie wszelkich zależności od msvcm90.dll.
Uwaga
Kolejność niezainicjowania zestawu może się różnić w przypadku aplikacji korzystających z bibliotek ptrust. W przypadku normalnych aplikacji zestawy są zwykle zwalniane w odwrotnej kolejności, w której są ładowane, ale nie jest to gwarantowane. W przypadku aplikacji częściowo zaufania zestawy są zwykle zwalniane w tej samej kolejności, w której są ładowane. Nie jest to również gwarantowane.
Aby utworzyć częściowo zaufaną aplikację mieszaną (/clr)
Aby usunąć zależność od msvcm90.dll, należy określić konsolidator, aby nie dołączać tej biblioteki przy użyciu /NODEFAULTLIB:msvcmrt.lib konsolidatora. Aby uzyskać informacje o tym, jak to zrobić przy użyciu środowiska programistycznego programu Visual Studio lub programowo, zobacz /NODEFAULTLIB (Ignoruj biblioteki).
Dodaj jedną z bibliotek ptrustm do zależności wejściowych konsolidatora. Użyj pliku ptrustm.lib, jeśli tworzysz aplikację w trybie wydania. W przypadku trybu debugowania użyj pliku ptrustmd.lib. Aby uzyskać informacje na temat tego, jak to zrobić przy użyciu środowiska programistycznego programu Visual Studio lub programowo, zobacz . Pliki Lib jako dane wejściowe konsolidatora.
Zobacz też
Zestawy mieszane (natywne i zarządzane)
Inicjowanie zestawów mieszanych
Obsługa bibliotek dla zestawów mieszanych
/link (Przepuść opcje do konsolidatora)