方法: CRT ライブラリ DLL への依存関係を削除することで部分的に信頼されたアプリケーションを作成します。How to: Create a Partially Trusted Application by Removing Dependency on the CRT Library DLL

このトピックでは、Visual C を使用して、msvcm90.dll との依存関係を削除することで、部分的に信頼された共通言語ランタイム アプリケーションを作成する方法について説明します。This topic discusses how to create a partially trusted Common Language Runtime application using Visual C++ by removing dependency on msvcm90.dll.

Visual C アプリケーションで構築された /clr C ランタイム ライブラリの一部である msvcm90.dll との依存関係になります。A Visual C++ application built with /clr will have a dependency on msvcm90.dll, which is part of the C-Runtime Library. 部分信頼環境で使用するアプリケーションを実行する場合に、特定のコード アクセス セキュリティ規則、DLL が CLR に適用されます。When you want your application to be used in a partial trust environment, the CLR will enforce certain code access security rules on your DLL. そのため、msvcm90.dll とにはネイティブ コードが含まれていますとにコード アクセス セキュリティ ポリシーを適用することはできませんので、この依存関係を削除する必要があります。Therefore, it will be necessary to remove this dependency because msvcm90.dll contains native code and code access security policy cannot be enforced on it.

使用する必要があります、アプリケーションは、C ランタイム ライブラリの機能は使用しないで、コードからこのライブラリの依存関係を削除したい場合は、ときリンカー オプションとリンクします。If your application does not use any functionality of the C-Runtime Library and you would like to remove the dependency on this library from your code, you will have to use the /NODEFAULTLIB:msvcmrt.lib linker option and link with either ptrustm.lib or ptrustmd.lib. これらのライブラリは、初期化と、アプリケーションの初期化解除用のオブジェクト ファイルを含めることが、例外クラスは、初期化コードで使用され、例外処理コードを管理します。These libraries contain object files for initialization and uninitialization of an application, exception classes used by the initialization code, and managed exception handling code. これらのライブラリのいずれかでリンクすると、msvcm90.dll との依存関係が削除されます。Linking in one of these libraries will remove any dependency on msvcm90.dll.

注意

Ptrust ライブラリを使用するアプリケーションのアセンブリの初期化の順序が異なる場合があります。The order of assembly uninitialization might differ for applications that use the ptrust libraries. 通常のアプリケーションでは、アセンブリは通常は読み込まれますが、これは保証されませんが、逆の順序でアンロードします。For normal applications, assemblies are usually unloaded in the reverse order that they are loaded, but this is not guaranteed. 部分信頼アプリケーションでは、アセンブリは通常に読み込まれる順序と同じ順序でアンロードします。For partial trust applications, assemblies are usually unloaded in the same order that they are loaded. これは、または保証されません。This, also, is not guaranteed.

部分的に信頼を作成するには、混合 (/clr) アプリケーションTo create a partially trusted mixed (/clr) application

  1. Msvcm90.dll との依存関係を削除するを使用してこのライブラリを含めないようにリンカーに指定する必要があります、ときリンカー オプション。To remove the dependency on msvcm90.dll, you must specify to the linker not to include this library by using the /NODEFAULTLIB:msvcmrt.lib linker option. この操作は、Visual Studio 開発環境を使用またはプログラムを参照してください。 方法について/NODEFAULTLIB (Ignore Libraries)します。For information on how to do this using the Visual Studio development environment or programmatically, see /NODEFAULTLIB (Ignore Libraries).

  2. リンカー入力の依存関係を ptrustm ライブラリを追加できます。Add one of the ptrustm libraries to the linker input dependencies. リリース モードでアプリケーションを構築している場合は、ptrustm.lib を使用します。Use ptrustm.lib if you are building your application in release mode. デバッグ モードでは、ptrustmd.lib を使用します。For debug mode, use ptrustmd.lib. この操作は、Visual Studio 開発環境を使用またはプログラムを参照してください。 方法についてします。Lib ファイルをリンカー入力としてします。For information on how to do this using the Visual Studio development environment or programmatically, see .Lib Files as Linker Input.

関連項目See also

混在 (ネイティブおよびマネージド) アセンブリMixed (Native and Managed) Assemblies
混在アセンブリの初期化Initialization of Mixed Assemblies
混在アセンブリのためのライブラリ サポートLibrary Support for Mixed Assemblies
/link (リンカーにオプションを渡す)/link (Pass Options to Linker)