Saltar al contenido

¿Qué hacen las diferentes acciones de compilación en un archivo csproj. Es decir, archivos adicionales o falsificaciones

Recabamos en diferentes foros para así tenerte la solución a tu problema, si continúas con alguna inquietud puedes dejarnos la inquietud y te respondemos porque estamos para servirte.

Solución:

No hay documentación centralizada sobre estas propiedades. El motivo es que esta lista es extensible, cada tipo de proyecto de Visual Studio puede proporcionar su propio. Esto también significa que el contenido del menú desplegable cambia según las cargas útiles de Visual Studio que haya instalado, las extensiones, el lenguaje de programación que esté utilizando, etc.

Este es un ejemplo de cómo se amplía esto para el análisis de código:



  
  

Los otros se pueden encontrar rastreando la carpeta de destinos de MsBuild, cada uno se registra a través de AvailableItemName artículos en el .target archivos.

  • Ninguno,
  • Compilar: pasa los archivos al compilador que pertenece al tipo de proyecto.
  • Contenido: marca los archivos como contenido y, opcionalmente, los copia en el directorio de salida.
  • Recurso incrustado: se utiliza para incrustar contenido en ensamblajes como recurso
  • AdditionalFiles: utilizado por las funciones de análisis de código. Definido en Microsoft.CodeAnalysis.Targets
  • CodeAnalysisDictionary: utilizado por las funciones de análisis de código, FxCop y Roslyn. Definido en Microsoft.CodeAnalysis.Targets
  • ApplicationDefinition: definido en Microsoft.Winfx.targets
  • Página: definida en Microsoft.Winfx.targets
  • Recurso: definido en Microsoft.Winfx.targets
  • SplashScreen: definido en Microsoft.Winfx.targets
  • DesignData: definido en Microsoft.Winfx.targets
  • DesignDataWithDesignTimeCreatableTypes: definido en Microsoft.Winfx.targets
  • EntityDeploy: definido en Microsoft.Data.Entity.targets
  • XamlAppDef: definido en Microsoft.Winfx.targets y Microsoft.Xaml.targets
  • Fakes: utilizado por el marco de Fakes (parte de Visual Studio Enterprise). Un marco que permite escribir pruebas que pueden eludir las API estáticas, internas y privadas.

Mi sistema tiene algunos adicionales además de los que ha publicado. Deberá buscar en los documentos de cada tipo de proyecto el significado. Dependiendo de su fuente, es posible que deba consultar la documentación de los sistemas de terceros.

La extensibilidad de MsBuild lo convierte en un sistema muy poderoso, al mismo tiempo que a veces hace que sea una pesadilla descubrir por qué las cosas son como son. Me he mantenido en el razonamiento: “Si no sé lo que significa, probablemente no lo necesitaré …”.

Sin embargo, es una pregunta antigua, además de la respuesta de jessehouwing, parece que Microsoft ahora tiene documentación oficial sobre las acciones de compilación: https://docs.microsoft.com/en-us/visualstudio/ide/build-actions?view=vs-2019

Compartiendo a continuación como referencia (copiado textualmente de la documentación):

[!NOTE]

Este tema se aplica a Visual Studio en Windows. Para Visual Studio para Mac, consulte Crear acciones en Visual Studio para Mac.

+-----------------------------------------+-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Build Action                            |  Project types                |  Description                                                                                                                                                                                                                                                                                                                                                                                             |
+-----------------------------------------+-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **AdditionalFiles**                     |  C#, Visual Basic             |  A non-source text file that's passed to the C# or Visual Basic compiler as input. This build action is mainly used to provide inputs to [analyzers](../code-quality/roslyn-analyzers-overview.md) that are referenced by a project to verify code quality. For more information, see [Use additional files](https://github.com/dotnet/roslyn/blob/master/docs/analyzers/Using%20Additional%20Files.md). |
| **ApplicationDefinition**               |  WPF                          |  The file that defines your application. When you first create a project, this is *App.xaml*.                                                                                                                                                                                                                                                                                                            |
| **CodeAnalysisDictionary**              |  .NET                         |  A custom word dictionary, used by Code Analysis for spell checking. See [How to: Customize the Code Analysis Dictionary](../code-quality/how-to-customize-the-code-analysis-dictionary.md)                                                                                                                                                                                                              |
| **Compile**                             |  any                          |  The file is passed to the compiler as a source file.                                                                                                                                                                                                                                                                                                                                                    |
| **Content**                             |  .NET                         |  A file marked as **Content** can be retrieved as a stream by calling . For ASP.NET projects, these files are included as part of the site when it's deployed.                                                                                                                                                         |
| **DesignData**                          |  WPF                          |  Used for XAML ViewModel files, to enable user controls to be viewed at design time, with dummy types and sample data.                                                                                                                                                                                                                                                                                   |
| **DesignDataWithDesignTimeCreateable**  |  WPF                          |  Like **DesignData**, but with actual types.                                                                                                                                                                                                                                                                                                                                                             |
| **Embedded Resource**                   |  .NET                         |  The file is passed to the compiler as a resource to be embedded in the assembly. You can call  to read the file from the assembly.                                                                                                                                                                               |
| **EntityDeploy**                        |  .NET                         |  For Entity Framework (EF) .edmx files that specify deployment of EF artifacts.                                                                                                                                                                                                                                                                                                                          |
| **Fakes**                               |  .NET                         |  Used for the Microsoft Fakes testing framework. See [Isolate code under test using Microsoft Fakes](../test/isolating-code-under-test-with-microsoft-fakes.md)                                                                                                                                                                                                                                          |
| **None**                                |  any                          |  The file isn't part of the build in any way. This value can be used for documentation files such as "ReadMe" files, for example.                                                                                                                                                                                                                                                                        |
| **Page**                                |  WPF                          |  Compile a XAML file to a binary .baml file for faster loading at run time.                                                                                                                                                                                                                                                                                                                              |
| **Resource**                            |  WPF                          |  Specifies to embed the file in an assembly manifest resource file with the extension *.g.resources*.                                                                                                                                                                                                                                                                                                    |
| **Shadow**                              |  .NET                         |  Used for an .accessor file that contains a list of built assembly filenames, one per line. For each assembly on the list, generate public classes with the names `ClassName_Accessor` that are just like the originals, but with public methods instead of private methods. Used for unit testing.                                                                                                      |
| **Splash Screen**                       |  WPF                          |  Specifies an image file to be displayed at run time when the app is starting up.                                                                                                                                                                                                                                                                                                                        |
| **XamlAppDef**                          |  Windows Workflow Foundation  |  Instructs the build to build a workflow XAML file into an assembly with an embedded workflow.                                                                                                                                                                                                                                                                                                           |
+-----------------------------------------+-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

[!NOTE]

Se pueden definir acciones de compilación adicionales para tipos de proyectos específicos, por lo que la lista de acciones de compilación depende del tipo de proyecto y pueden aparecer valores que no están en esta lista.

Recuerda que tienes concesión de agregar una reseña si descubriste tu dilema .

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *