ResolveAssemblyReference タスク

更新 : 2008 年 7 月

指定したアセンブリに依存するすべてのアセンブリを決定します。これには、2 番目および n 番目の依存関係も含まれます。

パラメータ

ResolveAssemblyReference タスクのパラメータの説明を次の表に示します。

パラメータ

説明

AllowedAssemblyExtensions

省略可能な String[] 型のパラメータです。

参照の解決時に使用するアセンブリ ファイル名拡張子。既定のファイル名拡張子は、.exe および .dll です。

AllowedRelatedFileExtensions

省略可能な String[] 型のパラメータです。

相互に関連するファイルの検索に使用するファイル名拡張子。既定の拡張子は、.pdb および .xml です。

AppConfigFile

省略可能な String 型のパラメータです。

bindingRedirect マッピングを解析および抽出する元になる app.config を指定します。このパラメータを指定する場合は、AutoUnify パラメータを false にする必要があります。

Assemblies

省略可能な ITaskItem[] 型のパラメータです。

完全パスと依存関係を特定する必要のあるアイテムを指定します。これらのアイテムには、"System" のような簡易名、または、"System, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" のような厳密な名前を指定できます。

このパラメータに渡されるアイテムには、オプションで次のアイテム メタデータを指定できます。

  • Private: Boolean 値。式が true の場合、アイテムはローカルにコピーされます。既定値は true です。

  • HintPath: String 値。参照として使用するパスおよびファイル名を指定します。この値が使用されるのは、SearchPaths パラメータに {HintPathFromItem} が指定されている場合です。既定値は、空の文字列です。

  • SpecificVersion: Boolean 値。true の場合、Include 属性で指定されている正確な名前に一致する必要があります。false の場合、同じ簡易名を持つアセンブリを使用できます。SpecificVersion が指定されていない場合は、アイテムの Include 属性の値が調べられます。属性が簡易名の場合は、SpecificVersion が false であるという仮定で動作します。属性が厳密な名前の場合は、SpecificVersion が true であるという仮定で動作します。

  • ExecutableExtension: String 値。存在する場合、解決されるアセンブリの拡張子はこの値である必要があります。存在しない場合、チェックするディレクトリごとに .dll が最初に考慮され、次に .exe が考慮されます。

  • SubType: String 値。空の SubType メタデータを持つアイテムのみがアセンブリの完全パスに解決されます。空でない SubType メタデータを持つアイテムは無視されます。

  • AssemblyFolderKey: String 値。このメタデータは、レガシ システムで使用できるようにするためにサポートされています。これは、Assemblies がアセンブリ参照を解決するときに使用する必要のある "hklm\VendorFolder" などのユーザー定義のレジストリ キーを指定します。

AssemblyFiles

省略可能な ITaskItem[] 型のパラメータです。

依存関係を見つける対象の完全修飾アセンブリのリストを指定します。

このパラメータに渡されるアイテムには、オプションで次のアイテム メタデータを指定できます。

  • Private: 省略可能な Boolean 値。式が true の場合、アイテムはローカルにコピーされます。

  • FusionName: 省略可能な String メタデータ。このアイテムの簡易名または厳密な名前を指定します。この属性が存在する場合、名前を取得するためにアセンブリ ファイルを開く必要がないため、時間を節約できます。

AutoUnify

省略可能な Boolean 型のパラメータです。

true の場合、生成される依存グラフは、AppConfigFile パラメータに渡される App.Config ファイルが存在するものと仮定して自動的に処理されます。この仮想 App.Config ファイルには、最高バージョンのアセンブリが選択されるように、競合するアセンブリ セットごとに bindingRedirect エントリがあります。この結果、すべての競合が解決されるため、競合アセンブリに関する警告は発生しません。再割り当てのたびに高優先度コメントが作成されます。このコメントでは、古いバージョンと新しいバージョンが示され、また AutoUnify が true であるためにこの操作が自動的に実行されたことが示されます。

false の場合、アセンブリ バージョンの再割り当ては自動的に発生しません。アセンブリの 2 つのバージョンが存在する場合は、警告が発生します。同じアセンブリの異なるバージョン間に存在する競合ごとに、高優先度コメントが発生します。これらのコメントがすべて表示されると、一意のエラー コードと「同じ依存アセンブリの異なるバージョン間での競合が見つかりました。」というテキストを示す単一の警告が表示されます。

既定値は、false です。

CandidateAssemblyFiles

省略可能な String[] 型のパラメータです。

検索および解決プロセスで使用するアセンブリのリストを指定します。このパラメータに渡される値は、絶対ファイル名またはプロジェクトの相対ファイル名である必要があります。

SearchPaths パラメータに、考慮するパスの 1 つとして {CandidateAssemblyFiles} が含まれている場合、このリストのアセンブリが考慮されます。

CopyLocalFiles

省略可能な ITaskItem[] 型の読み取り専用出力パラメータです。

ResolvedFilesResolvedDependencyFilesRelatedFilesSatelliteFiles、および ScatterFiles パラメータの各ファイルのうち、CopyLocal アイテム メタデータの値が true であるファイルを返します。

FilesWritten

省略可能な ITaskItem[] 型の出力パラメータです。

ディスクに書き込まれるアイテムが含まれます。

FindDependencies

省略可能な Boolean 型のパラメータです。

true である場合、依存関係が検索されます。それ以外の場合は、プライマリ参照のみが検索されます。既定値は、true です。

FindRelatedFiles

省略可能な Boolean 型のパラメータです。

true の場合、.pdb ファイルや .xml ファイルなどの関連ファイルが検索されます。既定値は、true です。

FindSatellites

省略可能な Boolean 型のパラメータです。

true の場合、サテライト アセンブリが検索されます。既定値は、true です。

FindSerializationAssemblies

省略可能な Boolean 型のパラメータです。

true の場合、シリアル化アセンブリが検索されます。既定値は true です。

FullTargetFrameworkSubsetNames

省略可能な String[] 型のパラメータです。

ターゲット フレームワークのサブセット名のリストが含まれます。リスト内のサブセット名が TargetFrameworkSubset 名プロパティ内の名前と一致する場合、ビルド時にその特定のターゲット フレームワーク サブセットが除外されます。

IgnoreDefaultInstalledAssemblyTables

省略可能な Boolean 型のパラメータです。

true の場合、TargetFrameworkDirectories の下の \RedistList ディレクトリにある、インストールされた追加のアセンブリ テーブル (または "再頒布リスト") が検索され、使用されます。既定値は、false. です。

IgnoreDefaultInstalledAssemblySubsetTables

省略可能な Boolean 型のパラメータです。

true の場合、TargetFrameworkDirectories の下の \SubsetList ディレクトリにある、インストールされた追加のアセンブリ サブセット テーブル (または "サブセット リスト") が検索され、使用されます。既定値は、false. です。

InstalledAssemblySubsetTables

省略可能な ITaskItem[] 型のパラメータです。

ターゲット サブセットに含められることが期待されるアセンブリを指定する XML ファイルのリストを含みます。

必要に応じて、このリスト内のアイテムは "FrameworkDirectory" メタデータを指定して InstalledAssemblySubsetTable

特定のフレームワーク ディレクトリを関連付けることができます。

TargetFrameworkDirectories 要素が 1 つだけの場合、このリスト内の "FrameworkDirectory" メタデータを持たないアイテムは、TargetFrameworkDirectories に渡される一意の値に設定されているものとして扱われます。

InstalledAssemblyTables

省略可能な String 型のパラメータです。

ターゲット コンピュータにインストールされることが期待されるアセンブリを指定する XML ファイルのリストを含みます。

InstalledAssemblyTables が設定されている場合、リスト内の以前のバージョンのアセンブリは、XML で指定されている新バージョンにマージされます。また、InGAC='true' が設定されているアセンブリは必須と見なされ、明示的にオーバーライドされない限り、CopyLocal='false' に設定されます。

必要に応じて、このリスト内のアイテムは "FrameworkDirectory" メタデータを指定して InstalledAssemblyTable と特定のフレームワーク ディレクトリを関連付けることができます。ただし、この設定は、再頒布名が

"Microsoft-Windows-CLRCoreComp" で始まらない場合は無視されます。

TargetFrameworkDirectories 要素が 1 つだけの場合、このリスト内の "FrameworkDirectory" メタデータを持たないアイテムは、

TargetFrameworkDirectories に渡される一意の値に設定されているものとして扱われます。

RelatedFiles

省略可能な ITaskItem[] 型の読み取り専用出力パラメータです。

参照と同じ基本名を持つ XML ファイルや .pdb ファイルなどの関連ファイルが含まれます。

このパラメータで指定されるファイルには、オプションで次のアイテム メタデータを含めることができます。

  • Primary: Boolean 値。true の場合、ファイル アイテムは Assemblies パラメータを使用して配列に渡されます。既定値は false です。

  • CopyLocal: Boolean 値。指定された参照を出力ディレクトリにコピーする必要があるかどうかを示します。

ResolvedDependencyFiles

省略可能な ITaskItem[] 型の読み取り専用出力パラメータです。

依存関係への n 番目のパスが含まれます。このパラメータには、ResolvedFiles パラメータに含まれている最初のプライマリ参照は含まれていません。

このパラメータのアイテムには、オプションで次のアイテム メタデータを含めることができます。

  • CopyLocal: Boolean 値。指定された参照を出力ディレクトリにコピーする必要があるかどうかを示します。

  • FusionName: String 値。この依存関係の名前を指定します。

  • ResolvedFrom: String 値。このファイルを解決したリテラル検索パスを指定します。

ResolvedFiles

省略可能な ITaskItem[] 型の読み取り専用出力パラメータです。

完全パスに解決されるすべてのプライマリ参照のリストが含まれています。

このパラメータのアイテムには、オプションで次のアイテム メタデータを含めることができます。

  • CopyLocal: Boolean 値。指定された参照を出力ディレクトリにコピーする必要があるかどうかを示します。

  • FusionName: String 値。この依存関係の名前を指定します。

  • ResolvedFrom: String 値。このファイルを解決したリテラル検索パスを指定します。

SatelliteFiles

省略可能な ITaskItem[] 型の読み取り専用出力パラメータです。

見つかったサテライト ファイルを指定します。このアイテムが存在する原因となった参照または依存関係が CopyLocal=true の場合、これらのパラメータは CopyLocal=true となります。

このパラメータのアイテムには、オプションで次のアイテム メタデータを含めることができます。

  • CopyLocal: Boolean 値。指定された参照を出力ディレクトリにコピーする必要があるかどうかを示します。このアイテムが存在する原因となった参照または依存関係の CopyLocal の値が true の場合、この値は true となります。

  • DestinationSubDirectory: String 値。このアイテムのコピー先の相対ディレクトリを指定します。

ScatterFiles

省略可能な ITaskItem[] 型の読み取り専用出力パラメータです。

指定されたアセンブリの 1 つに関連付けられた scatter ファイルが含まれています。

このパラメータのアイテムには、オプションで次のアイテム メタデータを含めることができます。

  • CopyLocal: Boolean 値。指定された参照を出力ディレクトリにコピーする必要があるかどうかを示します。

SearchPaths

必須の String[] 型のパラメータです。

アセンブリを表すディスクのファイルを見つけるために検索されるディレクトリまたは特別な場所を指定します。一覧に検索パスを並べる順序は重要です。各アセンブリに対して、パスのリストは左から右に検索されます。アセンブリを表すファイルが見つかると、検索は停止し、次のアセンブリの検索を開始します。

このパラメータには、次の型の値を指定できます。

  • ディレクトリ パス。

  • {HintPathFromItem} : 基本アイテムの HintPath メタデータをチェックするように指定します。

  • {CandidateAssemblyFiles} : CandidateAssemblyFiles パラメータによって渡されたファイルをチェックするように指定します。

  • {Registry:_AssemblyFoldersBase_, _RuntimeVersion_, _AssemblyFoldersSuffix_}:

  • {AssemblyFolders}: レジストリからアセンブリを検索する Visual Studio .NET 2003 のスキームを使用するように指定します。

  • {GAC} : GAC 内を検索するように指定します。

  • {RawFileName} : アイテムの Include 値を正確なパスとファイル名として考慮するように指定します。

Silent

省略可能な Boolean 型のパラメータです。

true の場合、メッセージはログに記録されません。既定値は、false です。

StateFile

省略可能な String 型のパラメータです。

このタスクの中間ビルド状態の保存場所を示すファイル名を指定します。

SuggestedRedirects

省略可能な ITaskItem[] 型の読み取り専用出力パラメータです。

AutoUnify パラメータの値にかかわらず、すべての独立した競合アセンブリごとに 1 つのアイテムが含まれます。このパラメータには、アプリケーション構成ファイルに適切な bindingRedirect エントリが存在しないことが判明したすべてのカルチャと PKT が含まれます。

各アイテムには、オプションで次の情報を含めることができます。

  • Include 属性 : Version フィールドの値が 0.0.0.0 であるアセンブリ ファミリの完全名が含まれます。

  • MaxVersion アイテム メタデータ : 最大バージョン番号が含まれます。

TargetFrameworkDirectories

省略可能な String[] 型のパラメータです。

ターゲット フレームワーク ディレクトリのパスを指定します。このパラメータは、生成されるアイテムの CopyLocal ステータスを決定するために必要です。

このパラメータが指定されていない場合、そのソース アイテムの Private メタデータ値が明示的に true である場合を除いて、生成されるアイテムの CopyLocal 値は true にはなりません。

TargetFrameworkSubsets

省略可能な String[] 型のパラメータです。

ターゲット フレームワーク ディレクトリ内で検索されるターゲット フレームワークのサブセット名のリストを含みます。

TargetFrameworkVersion

省略可能な String 型のパラメータです。

プロジェクトのターゲット フレームワークのバージョンです。既定値は空です。この場合、ターゲット フレームワークに基づく参照のフィルタ処理はありません。

TargetProcessorArchitecture

省略可能な String 型のパラメータです。

優先されるターゲット プロセッサ アーキテクチャ。グローバル アセンブリ キャッシュ (GAC: Global Assembly Cache) 参照を解決するために使用されます。

このパラメータの値には、x86IA64、または AMD64 を指定できます。

このパラメータがない場合、タスクは実行中のプロセスのアーキテクチャに適合するアセンブリを検討します。アセンブリが見つからない場合、タスクは MSIL 値が ProcessorArchitecture の GAC アセンブリまたは ProcessorArchitecture 値がない GAC アセンブリを検討します。

参照

概念

MSBuild タスク

その他の技術情報

MSBuild タスク リファレンス

変更履歴

日付

履歴

理由

2008 年 7 月

パラメータの追加。

  • AllowedAssemblyExtensions

  • AllowedRelatedFileExtensions

  • FindSerializationAssemblies

  • FullTargetFrameworkSubsetNames

  • IgnoreDefaultInstalledAssemblyTables

  • IgnoreDefaultInstalledAssemblySubsetTables

  • InstalledAssemblySubsetTables

  • InstalledAssemblyTables

  • TargetFrameworkSubsets

  • TargetFrameworkVersion

SP1 機能変更