Что делают разные действия сборки в csproj. Т.е. дополнительные файлы или подделки

Что делают различные действия по сборке в проекте веб-API (могут также применяться и к другим типам)?

Я вижу: нет, компиляция, контент, встроенный ресурс, дополнительные файлы, CodeAnalysisDictionary, ApplicationDefinition, страница, ресурс, SplashScreen, DesignData, DesignDataWithDesignTimeCreatableTypes, EntityDeploy, XamlAppDef, подделки

Я нашел похожие вопросы в StackOverflow, но они не связаны ни с одной документацией Microsoft или содержат все элементы. То есть, что делают дополнительные файлы или подделки?

«Каковы различные настройки« Эффекты работы »в свойствах проекта Visual Studio и что они делают?» имеет неполный список.

Да, я посмотрел и не могу найти его в документации.

c#,asp.net-web-api,visual-studio-2015,msbuild,

8

Ответов: 1


1

Эти данные не имеют централизованной документации. Причиной этого является то, что этот список расширяем, каждый тип проекта 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 делает ее очень мощной системой, в то же время она иногда делает ее кошмаром, чтобы понять, почему все так, как есть. Я продолжал рассуждать: «Если я не знаю, что это значит, мне, вероятно, это не понадобится ...».

C #, asp.net-веб-апи, визуально-студия-2015, MSBuild,
Похожие вопросы