c# razor-pages .net-core-2.1

c# - Esta versión de Microsoft.AspNetCore.All solo es compatible con el marco de trabajo netcoreapp2.1



razor-pages .net-core-2.1 (6)

Cuando intento publicar mi aplicación en el servidor web después de actualizar a .NET Core 2.1 desde 2.0, recibo este mensaje: "Esta versión de Microsoft.AspNetCore.All solo es compatible con el marco de destino netcoreapp2.1. Diríjase a netcoreapp2. 1 o elija una versión de Microsoft.AspNetCore.All compatible con netcoreapp2.0 ".

Funciona bien en mi máquina de desarrollo.

Aquí está mi archivo de proyecto:

<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp2.1</TargetFramework> <RunPostBuildEvent>Always</RunPostBuildEvent> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.All" Version="2.1.0" /> <PackageReference Include="Microsoft.AspNetCore.Cors" Version="2.1.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.0" /> <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.0" /> <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.4" /> </ItemGroup> </Project>

He visto this , pero no parece ser el problema. También he experimentado con la versión preliminar 2.1 de CodeGeneration.Tools, pero no pude instalarlo.

EDITAR: Instalé dotnet 2.1 en el servidor.

Esto es lo que veo en el servidor:

D:/>dotnet --info Host (useful for support): Version: 2.1.0 Commit: caa7b7e2ba .NET Core SDKs installed: No SDKs were found. .NET Core runtimes installed: Microsoft.AspNetCore.All 2.1.0 [C:/Program Files (x86)/dotnet/shared/Microsoft.AspNetCore.All] Microsoft.AspNetCore.App 2.1.0 [C:/Program Files (x86)/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 2.0.5 [C:/Program Files (x86)/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 2.0.6 [C:/Program Files (x86)/dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 2.1.0 [C:/Program Files (x86)/dotnet/shared/Microsoft.NETCore.App]


  1. Haga clic derecho en el archivo de proyecto en Visual Studio.
  2. Haga clic en las propiedades, seleccione la aplicación -> Marco de destino desplegable y elija la versión de .Net Core Framework que desea utilizar.
  3. Reconstruye tu solución.

Lo que me ayudó fue simplemente eliminar los archivos .pubxml en la carpeta Propiedades> Publicar Perfiles y luego volver a crear el perfil de publicación.


Me encontré con el mismo problema (error) al intentar implementar mi solución actualizada en AWS Lambda usando:

dotnet lambda deploy-serverless

Resultó que había olvidado actualizar mi archivo aws-lambda-tools-defaults.json .

"framework" : "netcoreapp2.1",

Añadiendo para otros en la misma situación.


Para continuar con la publicación de joakimja, también puede actualizar el archivo .pubxml a través del IDE VS2017 . Haga clic derecho en su proyecto y seleccione "publicar" y luego haga clic en "configurar" en la fila de "información de resolución de problemas", luego vaya a la pestaña "configuración", aquí puede configurar el "Marco de destino"; de hecho, esto debería tener automáticamente actualizado a "netcoreapp2.1" simplemente abriendo el diálogo. Haga clic en "Guardar" y esto actualizará el marco de destino en el archivo pubxml. A continuación, intente publicar de nuevo.


Supongo que hizo todas las actualizaciones de 2.1.x pero inicialmente comenzó su proyecto en 2.0.x. Acabo de editar manualmente el archivo cspoj reduciéndolo y agregando:

<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp2</TargetFramework> </PropertyGroup> <ItemGroup> <PackageReference Include= "Microsoft.AspNetCore.All" Version="2.0.3" /> <PackageReference Include= "Microsoft.AspNetCore.Cors" Version="2.0.3" /> <PackageReference Include= "Microsoft.EntityFrameworkCore.SqlServer" Version="2.0.3" /> <PackageReference Include= "Microsoft.EntityFrameworkCore.Tools" Version="2.0.3" PrivateAssets="All" /> <PackageReference Include= "Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.4" PrivateAssets="All" /> </ItemGroup> <ItemGroup> <DotNetCliToolReferenceInclude= "Microsoft.EntityFrameworkCore.Tools.DotNet"Version="2.0.3" /> <DotNetCliToolReferenceInclude= "Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.4" /> <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.3" /> </ItemGroup>

Así que creo que te estás perdiendo el grupo de elementos <DotNetCliToolReferenceInclude=> .


Tuve el mismo problema, pero luego no había actualizado el archivo de perfil de publicación (.pubxml) para el entorno de destino correcto

< TargetFramework>netcoreapp2.1< /TargetFramework>

Y respecto a responder antes la fila.

< DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.1" />

Mostrar se eliminará en la versión 2.1 porque es obsoleto y se incluye ahora al día