Tengo una aplicación de dotnet core que apunta a Microsoft.NETCore.App 1.1.2. Creé un proyecto de prueba para probarlo con ese proyecto, pero al construir noté esta advertencia:
Abro NuGet Package Manager y veo que la advertencia es correcta, el proyecto que se está probando tiene una versión diferente de Microsoft.NETCore.App:
Mi problema es que Visual Studio no me permite actualizar esa versión, así que estoy confundido sobre cómo resolver este problema: lo ideal sería hacer clic en el menú desplegable y seleccionar la versión correcta, pero Visual Studio afirma que no puede hacer esto debido a " restricciones adicionales en el proyecto o packages.config ". ¿Cómo se supone que debo actualizar ese paquete? ¿A qué "restricciones adicionales" se refiere Visual Studio?
fuente
Respuestas:
EDITAR 2018 : solo siga las instrucciones para actualizar el paquete si realmente sabe lo que está haciendo. En la mayoría de los casos, nunca es necesario actualizar este paquete, u otros paquetes marcados como "bloqueados por proyecto", manualmente. Una aplicación dependiente del marco utilizará el último tiempo de ejecución disponible y una aplicación autónoma realizará una compilación adicional utilizando una versión más reciente de este paquete automáticamente. (hay algunos casos extremos en los que necesita actualizar este paquete en proyectos de prueba. en este caso, agregue
<TargetLatestRuntimePatch>true</…>
y vea estas preguntas y respuestas para conocer otras opciones)El paquete implícito hace referencia a que los
Microsoft.NET.Sdk
infers no se pueden actualizar a través de NuGet.Si migraste de project.json, es
1.1.0
probable que el proyecto con la referencia contengaen el archivo csproj o en un elemento como este (si puede usar el administrador de paquetes previamente para configurar la versión):
Elimine entradas como las anteriores y todos los paquetes harán referencia
1.1.2
(o lo que sea que el SDK instalado considere el más reciente) automáticamente. Alernativamente, ambientadoRuntimeFrameworkVersion
en todos los proyectos.fuente
<RuntimeFrameworkVersion>1.1.0</RuntimeFrameworkVersion>
línea. VS todavía no me deja cambiar manualmente la versión, pero al menos es la versión correcta ahora (se actualizó a 1.1.2 como dijiste)Tuve un problema similar al intentar instalar el paquete Entityframework.Core en una aplicación web .NET Core 2. Para resolver el problema, forcé la instalación a través de Package Manager Console:
(2.0.5 era la versión más reciente en ese momento)
Espero que te sea de utilidad. Paz.
fuente
Para mi agregando
Hizo el truco
fuente
Respuesta corta
Agregue una versión explícita a la
Microsoft.AspNetCore.App
referencia del paquete en su archivo .csproj.Respuesta larga
Tenía un nuevo proyecto netcoreapp2.1. Lo siguiente estaba en el archivo .csproj. Tenga en cuenta que no había ninguna versión asociada con la
Microsoft.AspNetCore.App
referencia del paquete.Agregué una referencia explícita al
Microsoft.Extensions.Logging.Abstractions
paquete para resolver una falta de coincidencia de dependencia (error de compilación).Micorsoft.AspNetCore.App
quería la versión 2.1.0 de esta dependencia, pero otro paquete quería la versión 2.1.1. Mi archivo .csproj ahora se ve así.Esto redujo el error de compilación a una advertencia sobre la
Micorsoft.AspNetCore.App
necesidad de la versión 2.1.0 delMicrosoft.Extensions.Logging.Abstractions
paquete, pero la versión 2.1.1, por supuesto, se resolvió.Micorsoft.AspNetCore.App
El Administrador de paquetes bloqueó el intento de actualizar a la versión 2.1.1 para corregir la advertencia, como lo menciona el OP.Actualicé la
Micorsoft.AspNetCore.App
referencia de mi paquete para usar explícitamente la versión 2.1.1 de esta manera.Esto solucionó la advertencia de compilación y desbloqueó todas las versiones de
Microsoft.AspNetCore.App
Package Manager. Incluso pude eliminar la referencia explícita aMicrosoft.Extensions.Logging.Abstractions
sin volver a introducir el error original. El .csproj final se ve así sin problemas.fuente
Tuve el mismo problema y creo que el problema es sobre el paquete.
El problema se resolvió después de especificar exactamente la versión.
Como sé, ese error se produce cuando el número de versión
fuente
Otra posible solución. En el
csproj
archivo, actualice el marco de destino a la versión a la que desea actualizar. Después de realizar el cambio, según los siguientes fragmentos, los paquetes se pueden actualizar a través del administrador de paquetes de la solución NuGet.Antes de:
Después:
fuente
Lo resolví simplemente: haciendo clic derecho en Proyecto (o ALT + Entrar) -> Propiedades -> Aplicación -> Marco de destino (Elija .NET Core framework (en este caso 1.1))
fuente
La mejor recomendación es volver a crear sus proyectos después de actualizar el SDK y el tiempo de ejecución y luego colocar su código y configuración antiguos dentro de los nuevos proyectos. Aparte de eso, pasará demasiado tiempo en ajustes inútiles y configuraciones desconocidas.
fuente