Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

142
Views
¿Cómo especificar la versión de ensamblaje para un proyecto .NET Core?

Noté que en los nuevos proyectos de .NET Core no se creó ningún archivo AssemblyInfo.cs . He visto que aún puede establecer atributos de ensamblaje como AssemblyVersion , etc.

¿Todavía hay razones válidas para usar un archivo AssemblyInfo.cs?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Puede crear absolutamente un archivo AssemblyInfo.cs y configurar su ensamblaje como lo hizo en el pasado. Por supuesto, dado que las propiedades se establecen mediante atributos de ensamblaje, no necesita usar AssemblyInfo pero puede elegir cualquier otro nombre de archivo o incluso uno existente.

Dicho esto, la razón por la que AssemblyInfo.cs ya no se incluye en las plantillas predeterminadas es que el nuevo tipo de proyecto de estilo SDK admite la configuración de esta información dentro del archivo de proyecto csproj .

Por lo tanto, el enfoque habitual para establecer la versión de su ensamblaje sería establecer la propiedad Version dentro de su archivo de proyecto (o hacer que se establezca automáticamente como parte de su proceso de compilación). Por ejemplo:

 <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netcoreapp3.0</TargetFramework> <Version>1.2.3</Version> </PropertyGroup> … </Project>

Como se trata de una propiedad de MSBuild, también puede configurarla durante el proceso de compilación, por ejemplo, con dotnet build /p:Version=1.2.3 .

También existen las propiedades VersionPrefix y VersionSuffix que se pueden usar para construir automáticamente números de versión del entorno (por ejemplo, ID de confirmación de Git o números de compilación).

Además de las propiedades relacionadas con la versión, también hay algunas propiedades NuGet más que puede establecer en el archivo del proyecto, lo que hace que AssemblyInfo.cs sea en su mayoría redundante.

over 4 years ago · Santiago Trujillo Report

0

Las razones para seguir usando un archivo AssemblyInfo.cs pueden incluir

  1. desea compartir parte de la información de ensamblaje entre proyectos, lo que puede hacer con un archivo
  2. es posible que tenga un proceso de generación de código que escupe la información de ensamblaje
  3. el formato de archivo del proyecto aún no es compatible con todos los atributos que podría querer usar. El proyecto Sdk sabe cómo generar automáticamente un conjunto limitado de [AssembyAttributes] a partir de elementos Xml con nombres coincidentes en el archivo csproj , pero no admite la generación automática de [AssembyAttributes] arbitrarios u otros metadatos para su ensamblaje.
  4. AssemblyInfo.cs es "solo" un archivo de código fuente, es posible que tenga otros metadatos, ya sean AssemblyAttributes o clases u otros, que desea mantener en un lugar fácil de encontrar.
over 4 years ago · Santiago Trujillo Report

0

De acuerdo con la guía de migración , en estos días, tenemos pocas formas flexibles de configurar atributos de ensamblaje.

  1. Use el archivo AssemblyInfo.cs de estilo antiguo (cree manualmente).
 using System; using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("...")] [assembly: System.Reflection.AssemblyCopyrightAttribute("...")] [assembly: System.Reflection.AssemblyDescriptionAttribute("...")] [assembly: System.Reflection.AssemblyFileVersionAttribute("...")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("...")] [assembly: System.Reflection.AssemblyProductAttribute("...")] [assembly: System.Reflection.AssemblyTitleAttribute("...")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0-dev01234567")]
  1. Use las propiedades de MSBuild para generar atributos de ensamblaje en el momento de la compilación (pueden ser estáticos en your.csproj o pasarse a través de argumentos de línea de comando como /property:Version=1.0.0-dev01234567 ).
 <Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <Company>...</Company> <Copyright>...</Copyright> <Description>...</Description> <Product>...</Product> <AssemblyTitle>...</AssemblyTitle> <Version>1.0.0-dev01234567</Version> </PropertyGroup> ... </Project>

Nota: puede fusionar ambas soluciones, pero evite los duplicados de atributos de ensamblaje.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!