/MANIFESTDEPENDENCY (マニフェストの依存関係を指定する)

/MANIFESTDEPENDENCY:manifest_dependency

解説

/MANIFESTDEPENDENCY を使用すると、マニフェスト ファイルの <dependency> セクションに配置される属性を指定できます。

マニフェスト ファイルの作成方法については、「/MANIFEST (side-by-side アセンブリ マニフェストを作成する)」を参照してください。

マニフェスト ファイルの <dependency> セクションの詳細については、「パブリッシャー構成ファイル」を参照してください。

/MANIFESTDEPENDENCY の情報は、次の 2 つの方法のいずれかでリンカーに渡すことができます。

  • /MANIFESTDEPENDENCY を使用してコマンドライン (または応答ファイル内) で直接。

  • comment プラグマを介して。

次の例は、プラグマで渡された /MANIFESTDEPENDENCY のコメントを示しています。

#pragma comment(linker, "\"/manifestdependency:type='Win32' name='Test.Research.SampleAssembly' version='6.0.0.0' processorArchitecture='X86' publicKeyToken='0000000000000000' language='*'\"")

この結果、マニフェスト ファイルに次のエントリが生成されます。

<dependency>
  <dependentAssembly>
    <assemblyIdentity type='Win32' name='Test.Research.SampleAssembly' version='6.0.0.0' processorArchitecture='X86' publicKeyToken='0000000000000000' language='*' />
  </dependentAssembly>
</dependency>

次のように、同じ /MANIFESTDEPENDENCY のコメントをコマンド ラインで渡すことができます。

"/manifestdependency:type='Win32' name='Test.Research.SampleAssembly' version='6.0.0.0' processorArchitecture='X86' publicKeyToken='0000000000000000' language='*'\"

リンカーでは、/MANIFESTDEPENDENCY のコメントを収集し、重複するエントリを削除してから、結果として生成される XML 文字列をマニフェスト ファイルに追加します。 リンカーで競合するエントリを検出すると、マニフェスト ファイルが破損し、アプリケーションを起動できなくなります (エラーの原因を示すエントリがイベント ログに追加される場合があります)。

Visual Studio 開発環境でこのリンカー オプションを設定するには

  1. プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、Visual Studio での C++ コンパイラとビルド プロパティの設定に関する記事を参照してください。

  2. [構成プロパティ]>[リンカー]>[マニフェスト ファイル] プロパティ ページを選択します。

  3. [追加のマニフェスト依存関係] プロパティを変更します。

このリンカーをコードから設定するには

  1. 以下を参照してください。AdditionalManifestDependencies

関連項目

MSVC リンカーのリファレンス
MSVC リンカー オプション