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>