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]
- Haga clic derecho en el archivo de proyecto en Visual Studio.
- 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.
- 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