Эти данные не имеют централизованной документации. Причиной этого является то, что этот список расширяем, каждый тип проекта Visual Studio может предоставить его собственный. Это также означает, что содержимое раскрывающегося списка изменяется в зависимости от того, какие данные вы установили в Visual Studio, какие расширения, какой язык программирования вы используете и т. Д.
Это пример того, как это расширено для анализа кода:
<!-- Make AdditionalFiles and CodeAnalysisDictionary available as a Build Action in Visual Studio -->
<ItemGroup>
<AvailableItemName Include="AdditionalFiles" />
<AvailableItemName Include="CodeAnalysisDictionary" />
</ItemGroup>
Остальные могут быть найдены путем обхода папки целей MsBuild, каждая из которых зарегистрирована через AvailableItemName
элементы в .target
файлах.
- Никто,
- Компиляция - передает файлы в компилятор, принадлежащий типу проекта
- Content - маркирует файлы как содержимое и, при необходимости, копирует их в выходной каталог
- Embedded Resource - используется для встраивания контента в asseblies как ресурс
- Дополнительные файлы - используются функциями анализа кода. Определено в Microsoft.CodeAnalysis.Targets
- CodeAnalysisDictionary - Используется функциями анализа кода, FxCop и Roslyn. Определено в Microsoft.CodeAnalysis.Targets
- ApplicationDefinition - определяется в Microsoft.Winfx.targets
- Страница - определяется в Microsoft.Winfx.targets
- Ресурс - определяется в Microsoft.Winfx.targets
- SplashScreen - определяется в Microsoft.Winfx.targets
- DesignData - определяется в Microsoft.Winfx.targets
- DesignDataWithDesignTimeCreatableTypes - определяется в Microsoft.Winfx.targets
- EntityDeploy - определяется в Microsoft.Data.Entity.targets
- XamlAppDef - определяется в Microsoft.Winfx.targets и Microsoft.Xaml.targets
- Подделки - используются фреймворком фальшивки (часть Visual Studio Enterprise). Структура, которая позволяет писать тесты, которые могут обойти статические, внутренние и частные API.
У моей системы есть несколько дополнительных над теми, которые вы разместили. Вам нужно будет искать документы для каждого типа проекта для значения. В зависимости от их источника вам может потребоваться ознакомиться с документами сторонних систем.
Расширяемость MsBuild делает ее очень мощной системой, в то же время она иногда делает ее кошмаром, чтобы понять, почему все так, как есть. Я продолжал рассуждать: «Если я не знаю, что это значит, мне, вероятно, это не понадобится ...».