tengo la siguiente advertencia
Severity Code Description Project File Line Suppression State Warning NETSDK1071 A PackageReference to 'Microsoft.AspNetCore.App' specified a Version of `2.1.6`. Specifying the version of this package is not recommended. For more information, see https://aka.ms/sdkimplicitrefs MyApi C:\Program Files\dotnet\sdk\2.2.102\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.targets 153Intenté eliminar la referencia editando el archivo del proyecto y luego agregando el paquete nuget; sin embargo, cuando hice esto, muchas referencias ya no funcionaron correctamente.
Observo que el error menciona sdk\2.2 que instalé recientemente en mi computadora, pero no hay ninguna referencia a él en el archivo del proyecto.
estoy usando VS2017 15.9.5
Hay algunas maneras de evitar esto.
Si incluye PackageReference pero elimina el atributo Version , la advertencia debería desaparecer. Esto se debe a que es un metapaquete , que (en pocas palabras) es un tipo de paquete que obtiene la versión según la versión de su marco, más aquí: https://docs.microsoft.com/en-us/dotnet/core/packages #metapaquetes
Para deshabilitar las advertencias, agregue AllowExplicitVersion :
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.11" > <AllowExplicitVersion>true</AllowExplicitVersion> </PackageReference>Me encontré con una situación similar al crear un nuevo proyecto de prueba xUnit (.NET Core). Cuando agregué una referencia a un proyecto de aplicación web ASP.NET Core existente, obtuve:
Microsoft.Common.CurrentVersion.targets(2106,5): advertencia MSB3277 : se encontraron conflictos entre diferentes versiones de :
- Microsoft.AspNetCore.Autorización
- Microsoft.AspNetCore.Cors
- Microsoft.AspNetCore.Diagnósticos.Abstracciones
- Microsoft.AspNetCore.Mvc
- Microsoft.AspNetCore.Mvc.Abstracciones
- Microsoft.AspNetCore.Mvc.Core
- Microsoft.AspNetCore.Mvc.Formatters.Json
- Microsoft.AspNetCore.Mvc.RazorPages
- Microsoft.AspNetCore.Mvc.ViewFeatures
- Microsoft.AspNetCore.Razor.Runtime
- Microsoft.AspNetCore.Routing
Eliminé estos conflictos de versión agregando Microsoft.AspNetCore.App a mi proyecto de prueba xUnit.
En este punto, comencé a recibir la advertencia de referencia de versión explícita ( NETSDK1071 ).
NuGet Package Manager y Package Manager Console dentro de Visual Studio agregarán el atributo de versión a Microsoft.AspNetCore.App al instalar el paquete. Puede eliminar el atributo de versión editando su archivo .csproj. Esto debería eliminar la advertencia NETSDK1071.
Tenga en cuenta que si elimina el atributo de versión, NuGet Package Manager deshabilitará los botones [Desinstalar] + [Actualizar] y dirá: "- referenciado implícitamente por un SDK..." .
En este punto, no recibo ninguna advertencia.
Hay mucha charla y algo de tldr; documentación relacionada con este tema. FWIW, aquí hay un par de recursos breves que creo que merecen ser destacados:
Metapaquete Microsoft.AspNetCore.App para ASP.NET Core 2.1 o posterior
@nguerrera resumió muy bien la situación:
Es para todas las pruebas, o incluso para todos los proyectos no web que tienen una referencia a un proyecto web. En realidad, no es una solución porque la referencia web no fluyó de manera transitiva en .NET Core 2.x. Debe agregarlo y debe agregarlo sin la versión para que el SDK pueda elegir la versión correcta para evitar conflictos.
Mejores noticias: a partir de .NET Core 3.0, la referencia web fluirá de manera transitiva y podrá hacer referencia a un proyecto web desde un proyecto de prueba sin ningún otro paso. Así que cierro esto. El diseño de 2.x no se puede cambiar, pero específicamente diseñamos cosas en 3.0 para tener referencias de marco transitivas, y este fue un escenario motivador para eso.
Y aquí hay un par de tldr; conversaciones:
Para desarrolladores que trabajan en Nopcommerce.
Estaba teniendo un problema con Nopcommerce Project v(2.2). Para resolverlo, debe realizar una edición dentro del archivo Nop.Core.csproj.
cambiar :
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.2.5" />con :
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.2.5"> <AllowExplicitVersion>true</AllowExplicitVersion> </PackageReference>