taghelper tag route net asp asp.net-core .net-core csproj assemblyinfo

asp.net-core - tag - forms asp net core



¿Necesito AssemblyInfo mientras trabajo con.NET Core? (2)

Anteriormente, el archivo AssemblyInfo.cs se creaba automáticamente por Visual Studio para contener atributos de todo el conjunto, como AssemblyVersion, AssemblyName, etc.

En .NET Core y ASP.NET Core, project.json es responsable de mantener la mayor parte de esa información.

Entonces la pregunta es: ¿necesito marcar mis ensambles con esos atributos más? ¿Qué trampas puedo obtener si no marque el ensamblaje con esos atributos?


El project.json no es un reemplazo directo para AssemblyInfo.cs , por lo que aún existe la necesidad si desea definir algunos valores que no puede proporcionar en el project.json . project.json .

En el Issue https://github.com/aspnet/dnx/issues/2715 se puede ver que al principio se tomaron algunos parámetros, como title , description , copyright , etc., para rellenar los campos de los paquetes Nuget generados. Con el problema 2715 nació la idea de que estos valores pueden "fluir hacia la Asamblea". Para que no tenga que configurar estos campos en dos lugares diferentes. Entonces, si no desea configurar más que estos parámetros, no se necesita AssemblyInfo.cs .

Hay otros campos como [InternalsVisibleTo] que no se pueden configurar en project.json . Entonces, hay casos en los que aún existe la necesidad de definir uno.


project.json ha reemplazado AssemblyInfo .

AssemblyVersionAttribute se reemplaza por propiedad de version

version Type: String The Semver version of the project, also used for the NuGet package.

AssemblyNameAttrinbute es ahora el name propiedad

name Type: String The name of the project, used for the assembly name as well as the name of the package. The top level folder name is used if this property is not specified.

y así

Actualización : al igual que con el anuncio de .NET Core Tools MSBuild, el .csproj se reemplaza con el project.json hay nuevamente un archivo AssemblyInfo.cs , pero la mayoría de las configuraciones se han movido directamente a .csproj . Consulte la pregunta SO relacionada para obtener más información: Equivalente a AssemblyInfo en dotnet core / csproj :

<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net461</TargetFramework> <Version>1.2.3.4</Version> <Authors>Author 1</Authors> <Company>Company XYZ</Company> <Product>Product 2</Product> <PackageId>MyApp</PackageId> <AssemblyVersion>2.0.0.0</AssemblyVersion> <FileVersion>3.0.0.0</FileVersion> <NeutralLanguage>en</NeutralLanguage> <Description>Description here</Description> <Copyright>Copyright</Copyright> <PackageLicenseUrl>License URL</PackageLicenseUrl> <PackageProjectUrl>Project URL</PackageProjectUrl> <PackageIconUrl>Icon URL</PackageIconUrl> <RepositoryUrl>Repo URL</RepositoryUrl> <RepositoryType>Repo type</RepositoryType> <PackageTags>Tags</PackageTags> <PackageReleaseNotes>Release</PackageReleaseNotes> </PropertyGroup>