tools - Su proyecto no hace referencia al marco ".NETFramework, Version=v4.5".
install entity framework visual studio 2017 (7)
De hecho, acabo de resolver el problema.
Terminé haciendo clic en
Restore Nuget Packages
en el nivel de solución y logré compilar mi archivo
PCL
, y luego el resto de mi solución.
Espero que esto ayude.
Estoy usando VS 2015.
Su proyecto no hace referencia al marco ".NETFramework, Version = 4.5". Agregue una referencia a ".NETFramework, Version = 4.5" en la sección "frameworks" de su project.json, y luego vuelva a ejecutar NuGet restore.
Recibo este error en mis capas de acceso a datos y lógica de negocios, poco después de agregarlo a mi capa MVC. Las cosas se estaban construyendo bien hasta entonces, pero no sé qué provocó este error. Aquí está mi project.json:
{
"version": "1.0.0-*",
"description": "foo bar Class Library",
"authors": [ "foo bar" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"frameworks": {
"net451": { },
"dotnet5.4": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-23516",
"System.Collections": "4.0.11-beta-23516",
"System.Linq": "4.0.1-beta-23516",
"System.Runtime": "4.0.21-beta-23516",
"System.Threading": "4.0.11-beta-23516"
}
}
}
}
Esto es lo que he intentado:
- Reemplazar "dotnet5.4" con "net451" (y eliminarlo) como se encuentra en esta respuesta .
El resultado es el mismo error.
- Reemplazando "dotnet5.4" con "net45" y dejando el "net451". Esto da como resultado un nuevo error:
Su project.json no tiene una sección de tiempos de ejecución. Debe agregar ''"tiempos de ejecución": {"win": {}}'' a su project.json y luego volver a ejecutar la restauración de NuGet.
Intenté hacer lo que este error sugería y agregar
"runtimes": {
"win": {}
},
Esto me dio este error, que parece que no puedo pasar:
Su project.json no enumera ''win'' como un tiempo de ejecución específico. Debería agregar ''"win": {}'' dentro de su sección "runtimes" en su project.json, y luego volver a ejecutar NuGet restore.
Ya he agregado "ganar", y esto está empezando a parecer una pista falsa. ¿Qué estoy haciendo alterando el project.json directamente? ¿No está NuGet manejando esto?
Encontré que un proyecto falso.lock.json me estaba causando este problema. Una vez que eliminé el archivo, el problema desapareció.
Here hay alguna documentación sobre project.lock.json.
Algunos consejos adicionales serían asegurarse de que project.lock.json se ignore en su archivo git ignore y probar una limpieza completa de git. Sin embargo, asegúrese de comprender las implicaciones de un Git clean antes de hacerlo.
Tengo el mismo problema pero de una manera diferente.
Your project does not reference ".NETFramework,Version=v4.5" framework. Add a reference to ".NETFramework,Version=v4.5" in the "TargetFrameworks" property of your project file and then re-run NuGet restore.
Referencia agregada en la propiedad
TargetFrameworks
.
Reconstruyó el proyecto después de eliminar
obj
bin
y
.vs
.
Aún así arroja lo mismo.
Tuve el mismo problema después de actualizar a Visual Studio para Mac 7.4 (compilación 1033):
Error: Your project is not referencing the "MonoAndroid,Version=v7.1" framework. Add a reference to "MonoAndroid,Version=v7.1" in the "frameworks" section of your project.json, and then re-run NuGet restore.
No tengo ningún archivo de proyecto json. Los consejos aquí tampoco ayudaron, así que tuve que averiguar de la manera difícil que tuve que instalar el último SDK de Android (Oreo 8.1) además de mi SDK de destino (Nougat 7.1).
Tuve el mismo problema y terminé no solo eliminando el contenido de las carpetas
bin
y
obj
, sino también el directorio
.vs
para la solución.
Tuve el mismo problema: esto ocurre todavía usando Visual Studio 2017.3, que usa archivos .csproj en lugar de project.json. Curiosamente, el mensaje de error todavía contiene el texto "project.json".
Parece que la causa de este problema es un archivo de bloqueo o un archivo
obj/project.assets.json
(dependiendo de su versión de VS) de una compilación anterior, que no se elimina durante una limpieza,
como se describe aquí
.
Eliminar manualmente el directorio
/obj
es una solución rápida.
Si tiene un proyecto "nuevo" (por ejemplo, .NET Core o proyecto netstandard creado en VS 2017) y un proyecto "antiguo" en el mismo directorio (por ejemplo, proyecto .NET 4.6 creado en VS 2015), parece que lucharán continuamente porque ambos usan el directorio
./obj
de diferentes maneras.
Más información aquí.
.
La solución alternativa de msbuild es hacer que uno de sus proyectos use un directorio
obj
diferente.
Agregué esto a mi "viejo" csproj:
<PropertyGroup>
<!-- Needed due to old project and new project in same directory: https://github.com/NuGet/Home/issues/5126 -->
<BaseIntermediateOutputPath>obj_netfx/</BaseIntermediateOutputPath>
</PropertyGroup>