C#:atributo duplicado 'AssemblyVersion'

C#:atributo duplicado 'AssemblyVersion'

Problema

Está intentando agregar el atributo AssemblyVersion a su proyecto, así:

using System.Reflection;

[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

Code language: C# (cs)

Y obtienes los siguientes errores del compilador:

Pero no ve estos atributos en ninguna otra parte de su proyecto.

Solución

El problema es que Visual Studio genera automáticamente la información del ensamblado de forma predeterminada.

Para desactivar esto, coloque lo siguiente en su archivo .csproj:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>
  <PropertyGroup>
    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
  </PropertyGroup>
</Project>

Code language: HTML, XML (xml)

¿Dónde está la información de montaje generada automáticamente?

Mi ensamblado se llama DupeAssemblyVersion y estoy apuntando a .NET Core 3.1. Entonces, el archivo de información de ensamblado generado automáticamente está aquí:\obj\Debug\netcoreapp3.1\DupeAssemblyVersion.AssemblyInfo.cs.

Así es como se ve este archivo:

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.42000
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

using System;
using System.Reflection;

[assembly: System.Reflection.AssemblyCompanyAttribute("DupeAssemblyVersion")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("DupeAssemblyVersion")]
[assembly: System.Reflection.AssemblyTitleAttribute("DupeAssemblyVersion")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

// Generated by the MSBuild WriteCodeFragment class.
Code language: C# (cs)