tipos texto lista informatica formatos extensiones ejemplos definicion archivos msbuild

texto - ¿Hay una extensión de archivo estándar para los archivos de MSBuild?



tipos de extensiones de archivos (4)

¿Existe una extensión de archivo estándar para los archivos de MSBuild que no son archivos de proyecto sino scripts de compilación más complejos?

Estaba pensando en .msbuild.proj para evitar confusiones con otros archivos .proj (que, en mi opinión, son archivos de MSBuild).


Lo más cercano a un estándar es el siguiente:

  1. .proj
  2. .targets
  3. . XXproj

Los archivos .targets son aquellos que se deben importar a otros archivos utilizando el elemento Importar . Como estos archivos son estrictamente reutilizables, en realidad no crean nada. Por lo general, les faltan las propiedades y los valores de los elementos para construir realmente algo.

Los archivos .proj son archivos creados que pueden ser creados por ellos mismos. Pueden importar archivos .targets.

.XXproj , por ejemplo .csproj o .vbproj son archivos que crean archivos que contienen un lenguaje específico. Por ejemplo, .csproj es para proyectos de C # y .vbproj para archivos de proyecto de VB.NET. Esta convención proviene de Visual Studio.


Recomiendo lo que VS hace:

.*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.


Solo usamos .build


ACTUALIZACIÓN: En retrospectiva, he actualizado la respuesta para incluir más convenciones. El crédito va para Sayed Ibrahim Hashimi y otros en este hilo.

.proj

Una convención popular para uso genérico. Comúnmente utilizado por un script de compilación principal.

Ejemplos:

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

.targets

.targets archivos .targets son aquellos que se deben importar a otros archivos utilizando el elemento Importar. Como estos archivos son estrictamente reutilizables, en realidad no crean nada. Por lo general, les faltan las propiedades y los valores de los elementos para construir realmente algo.

Ejemplos:

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

.**proj

Convención específica de idioma donde **** representa el acrónimo corto de idioma.

Extensiones bien conocidas:

.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

Una hoja de propiedades del proyecto utilizada por los proyectos de Visual C ++ ( .vcxproj ).

Ejemplos:

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

.tasks

Un archivo de inclusión común que un proyecto de MSBuild llamante debe importar. Contiene una lista de elementos <UsingTask> .

Ejemplos:

Microsoft.Common.Tasks MSBuild.ExtensionPack.tasks

.settings.targets

(Esta es una convención relacionada si no es estrictamente hablando una extensión de archivo).

Un archivo de inclusión común que un proyecto de MSBuild llamante debe importar. Contiene "varias propiedades relacionadas con las utilidades compartidas utilizadas durante los procesos de compilación e implementación, así como cualquier otra configuración común" ( Sayed Ibrahim Hashimi, 2009 ).

Ejemplos:

EntityFramework.settings.targets

Compiler.settings.targets

Library.Settings.targets