20

ProjectReferenceMSBuildプロジェクトでタグに関するドキュメントが見つかりません。詳細な説明はどこで読むことができますか?

編集: 私は他の.vcxproj人によって作成されました。アイテムが入っていProjectReferenceます。ProjectReferenceサブタグが含まれてPrivateReferenceOutputAssemblyます:CopyLocalSatelliteAssemblies、、、、、。それらのタグについてどこで読むことができますか?どの値を含めることができますか?他にどのようなサブタグを含めることができますか?LinkLibraryDependenciesUseLibraryDependencyInputsProjectReference

MSDNとGoogleで検索しましたが、ドキュメントページは見つかりませんでした。MSBuildではなく、他の製品に関するディスカッションとドキュメントのみが見つかりました。

4

3 に答える 3

6

ProjectReference 要素が ItemGroup 要素の子であることがわかります。

ありがたいことに、ItemGroups は完全に文書化されたスキーマ項目です。あなたが見つけるのは、ItemGroups の子要素が何でもできるということです。コレクションの名前と考えてください。ItemGroup 内のそのアイテムは、「メタデータ」値を持つことができます。

例えば、

<ItemGroup>
    <WindowsFiles Include="C:\Windows\*">
       <IsSystem>true</IsSystem>
    </WindowsFiles>
</ItemGroup>

これは、WindowsFiles という項目グループを定義しています。基本的に、Include 属性に一致するファイルのコレクションになります。すべてのアイテム グループ アイテムには、ファイル名、拡張子、フルパス、ディレクトリなどのメタデータが組み込まれていますが、独自のメタデータを追加することもできます。この場合、IsSystem は追加のものです。

アイテム グループの参照は、次の 2 つの方法のいずれかで行われます。

<Message Text="%(WindowsFiles.FullPath)"/>

<Message Text="@(WindowsFiles->'%(FullPath)')"/>

後者は、より高度な変換と呼ばれます。ItemGroup に頭を悩ませるか、変換がうまくいかなくなるまで、前者に固執するのが最善です。

関心のある ProjectReference アイテムグループは、どこかのターゲット ファイルによって処理されます。itemgroup はその呼び方がかなり恣意的であるため、概念的には変数であるため、使用法を定義するターゲット ファイルによって処理される方法です。

Import ステートメントに記載されているファイルを調べて、ProjectReference 項目グループがどこで使用されるかを確認します。

于 2012-06-27T20:53:36.963 に答える