/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 開発環境でこのリンカー オプションを設定するには
プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、Visual Studio での C++ コンパイラとビルド プロパティの設定に関する記事を参照してください。
[構成プロパティ]>[リンカー]>[マニフェスト ファイル] プロパティ ページを選択します。
[追加のマニフェスト依存関係] プロパティを変更します。
このリンカーをコードから設定するには
- 以下を参照してください。AdditionalManifestDependencies