Существует ли стандартное расширение файла для файлов MSBuild?

Есть ли стандартное расширение файла для файлов MSBuild, которые не являются файлами проекта, а вместо этого сложнее строить скрипты?

Я думал .msbuild.proj, чтобы избежать путаницы с другими .proj файлами (которые, как мне известно, являются файлами MSBuild).

Ответ 1

ОБНОВЛЕНИЕ:. В ретроспективе я обновил ответ, чтобы включить больше соглашений. Кредит идет на Sayed Ibrahim Hashimi и другие в этой теме.


.proj

Популярное соглашение для общего использования. Обычно используется основной сборкой script.

Примеры:

build.proj
main.proj 
company.product.build.proj

.targets

.targets файлы - это те, которые предназначены для импорта в другие файлы с помощью элемента Import. Поскольку эти файлы строго перерабатываются, они фактически ничего не строят. Обычно они не имеют свойств и значений элементов для фактического создания чего-либо.

Примеры:

Microsoft.Common.targets
Microsoft.CSharp.targets
Microsoft.Data.Entity.targets

.**proj

Соглашение о языке, где **** представляет сокращенное сокращение языка.

Известные расширения:

.csproj    | C#
.vbproj    | VB.NET
.vcxproj   | Visual C++
.dbproj    | Database project
.fsproj    | F#
.pyproj    | IronPython
.rbproj    | IronRuby
.wixproj   | Windows Installer XML (WiX)
.vdproj    | Visual Studio Deployment Project
.isproj    | InstallShield 
.pssproj   | PowerShell
.modelproj | Modeling project

.props

Страница свойств проекта, используемая проектами Visual С++ (.vcxproj).

Примеры:

Microsoft.Cl.Common.props
Microsoft.Cpp.CoreWin.props
Microsoft.Cpp.props
Microsoft.Link.Common.props

.tasks

Общий файл include, который должен быть импортирован вызывающим проектом MSBuild. Содержит список элементов <UsingTask>.

Примеры:

Microsoft.Common.Tasks
MSBuild.ExtensionPack.tasks

.settings.targets

(Это связанное соглашение, если не строго говоря, расширение файла.)

Общий файл include, который должен быть импортирован вызывающим проектом MSBuild. Содержит "различные свойства, связанные с общими утилитами, используемыми в процессе сборки и развертывания, а также любые другие общие настройки" (Sayed Ibrahim Hashimi, 2009).

Примеры:

EntityFramework.settings.targets

Compiler.settings.targets

Library.Settings.targets

Ответ 2

Ближайшим к стандарту является следующее:

  • .proj
  • .targets
  • . XXproj

.targets - это те, которые предназначены для импорта в другие файлы с помощью Import element. Поскольку эти файлы строго перерабатываются, они фактически ничего не строят. Обычно они не имеют свойств и значений элементов для фактического создания чего-либо.

.proj файлы создаются файлами, которые могут быть созданы сами по себе. Они могут импортировать файлы .targets.

.XXproj, например .csproj или .vbproj - это файлы, которые создают файлы, содержащие конкретный язык. Например .csproj для проектов С# и .vbproj для файлов проекта VB.NET. Это соглашение происходит из Visual Studio.

Ответ 3

Мы просто используем .build

Ответ 4

Я рекомендую, что делает VS:

.*proj for project files --- msbuild.exe will find them automatically if they match this pattern
.targets for build process --- generally imported towards the end of your project
.props for shared settings --- generally imported towards the top of your project. C++ (*.vcxproj) files use these, and they will doubtless get added to VB and C# default project files at some point.