Votre projet ne fait pas référence au framework “.NETFramework, Version = v4.5”.

J’utilise VS 2015.

Votre projet ne fait pas référence au framework “.NETFramework, Version = 4.5”. Ajoutez une référence à “.NETFramework, Version = 4.5” dans la section “frameworks” de votre project.json, puis réexécutez la restauration NuGet.

Je reçois cette erreur sur mes couches Data Access et Business Logic, peu après avoir ajouté à ma couche MVC. Les choses allaient bien jusque-là, mais je ne sais pas ce qui a déclenché cette erreur. Voici mon 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" } } } } 

Voici ce que j’ai essayé:

  1. Remplacer “dotnet5.4” par “net451” (et le supprimer) comme indiqué dans cette réponse .

Le résultat est la même erreur.

  1. Remplacer “dotnet5.4” par “net45” et laisser le “net451”. Cela se traduit par une nouvelle erreur:

Votre project.json n’a pas de section runtimes. Vous devriez append “runtimes”: {“win”: {}} “à votre project.json, puis relancer NuGet restore.

J’ai essayé de faire comme cette erreur a suggéré et en ajoutant

 "runtimes": { "win": {} }, 

Cela m’a donné cette erreur, que je n’arrive pas à dépasser:

Votre project.json ne répertorie pas “win” en tant qu’exécution ciblée. Vous devez append «win»: {} ‘dans votre section “runtimes” dans votre project.json, puis relancez la restauration de NuGet.

J’ai déjà ajouté “win”, et cela commence à ressembler à un hareng rouge. Que fais-je pour modifier directement le projet.json, NuGet ne gère-t-il pas cela?

J’ai juste compris le problème. J’ai fini par cliquer sur Restore Nuget Packages au niveau de la solution et j’ai réussi à comstackr mon fichier PCL , puis le rest de ma solution.

J’espère que cela t’aides.

J’ai eu le même problème et j’ai dû non seulement supprimer le contenu des dossiers bin et obj , mais aussi le répertoire .vs de la solution.

J’ai eu le même problème – cela se produit toujours en utilisant Visual Studio 2017.3, qui utilise des fichiers .csproj au lieu de project.json. Fait intéressant, le message d’erreur contient toujours le texte “project.json”.

Il semble que la cause de ce problème soit un fichier de locking ou un fichier obj\project.assets.json (en fonction de votre version de VS) d’une version précédente, qui n’est pas supprimée lors d’un nettoyage, comme décrit ici .

La suppression manuelle du répertoire /obj est une solution rapide.

Si vous avez un “nouveau” projet (par exemple un projet .NET Core ou netstandard créé dans VS 2017) et un “ancien” projet dans le même répertoire (par exemple, un projet .NET 4.6 créé dans VS 2015), il semblerait qu’ils luttent continuellement ils utilisent tous les deux le ./obj de différentes manières. Plus d’infos ici. .

La solution msbuild consiste à faire en sorte que l’un de vos projets utilise un autre obj . J’ai ajouté ceci à mon “ancien” csproj:

   obj_netfx\  

De plus, j’ai découvert aujourd’hui qu’il existait un projet rusé.lock.json qui était à l’origine de ce problème. Une fois que j’ai supprimé le fichier, le problème a disparu.

J’ai eu le même problème après la mise à jour de Visual Studio pour Mac 7.4 (version 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. 

Je n’ai aucun fichier de projet json. Les conseils fournis ici n’ont pas aidé non plus, et j’ai donc dû trouver le moyen difficile d’installer le dernier SDK Android (Oreo 8.1) en plus de mon SDK cible (Nougat 7.1).

entrer la description de l'image ici