web-dev-qa-db-fra.com

Erreur ASP.NET Core Application (.NET Framework) pour Windows x64 uniquement dans project.assets.json

Je souhaite simplifier ma configuration dans mon application d'application Web ASP.NET Core (.NET Framework) utilisant VS 2017.

Je sais déjà que mon site Web fonctionnera sous Windows/IIS dans un environnement x64 et .NET 4.6.2. Dans l’avenir prévu et imprévu, cette application n’a aucune chance d’utiliser un autre environnement, du développement à la production.

Donc, je n'ai besoin que des modes Debug x64 et Release x64. (AnyCPU et x86 ne sont pas nécessaires!), Alors je suis allé de l'avant et j'ai supprimé toutes les autres configurations du projet.

Maintenant, lors de la compilation, j'obtiens l'erreur suivante:

'C:\Projects\MyProject\Mon.Website\obj\project.assets.json' ne le fait pas avoir une cible pour '.NETFramework, Version = v4.6.2/win7-x64'.

Assurez-vous ont restauré ce projet pour TargetFramework = 'net462' et RuntimeIdentifier = 'win7-x64'. MD.Website C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.Sdk.targets

Je développe sur Windows 7, je ne sais pas comment résoudre ce problème. Une idée?

16
Adam

Pour une raison quelconque, <TargetFramework> dans mon fichier .csproj était singulier. J'ai ajouté un "s" et il est devenu "TargetFramework s ", ce qui a fonctionné:

  <PropertyGroup>
    <TargetFrameworks>net462</TargetFrameworks>
    <RuntimeIdentifier>win7-x64</RuntimeIdentifier>
  </PropertyGroup>
26
Adam

Je n'ai pas changé ma TargetFramework, j'ai exécuté la commande dans la console du gestionnaire de packages

dotnet restore

Et ça a marché! (J'utilise VS2017 et je fais une application principale .net pointant vers le framework .net)

5
Tiago Ávila

J'avais manuellement changé le mien de x86 à x64. Dans ce cas, restaurer les packages à partir de Visual Studio ne fonctionnerait pas, mais fermer Visual Studio, supprimer le project.assets.json, redémarrer Visual Studio et reconstruire le projet fonctionnait pour moi. J'ai quitté <TargetFramework> singulier.

La ligne de commande nuget restore ... peut également avoir fonctionné.

3
George Helyar

Je rencontrais ce problème lorsque j'essayais de publier une application console dotnetcore dans un dossier local après l'avoir mise à niveau vers la version 2.0.

Après avoir essayé tous les dossiers en cours de suppression et la restauration par dotnet, assurez-vous que tous les paramètres d’application et de construction étaient corrects à 2_0. J'ai réalisé que mon profil de publication ciblait toujours la version 1.1, même si la version 2.0 était sélectionnée comme telle lorsque j'ai modifié le profil, il était indiqué dans le résumé de publication 1.1. J'ai donc re-sélectionné 2.0 dans la liste déroulante et le résumé a été mis à jour pour indiquer 2.0 et tout a bien fonctionné.

3
James

J'ai une application principale .net pointant vers .net framework 4.6.1 dans VS2017 que j'ai essayé de publier. J'ai changé ma cible de plate-forme de x86 à x64 et j'ai commencé à avoir cette erreur lorsque j'ai essayé de publier à nouveau, mais je n'avais aucun problème à générer. Je viens d'ouvrir les paramètres de profil de publication et tout semblait normal (le runtime cible était win7-x64), mais cela suffisait pour que ma publication fonctionne correctement.

0
Boris