Ne peut pas trouver d'exécution cible pour le cadre .NETCoreApp=v1 compatible avec celui de la cible runtimes
Je suis en train de migrer une Asp.Net Core RC1 projet de RC2 et ont été la suite de cette la documentation et ont également suivi le instructions pour DNX la migration vers .NET CLI.
Je reçois le message d'erreur suivant lorsque j'essaie dotnet run
:
Ne peut pas trouver d'exécution cible pour cadre".NETCoreAPP, Version=v1.0'
compatible avec celui de la cible temps de fonctionnement: 'win10-x64, win81-x64,
win8-x64, win7-64 x'. Causes possibles:
- Le projet n'a pas été restaurée ou de l'échec de restauration -run 'dotnet restaurer"
- Le projet n'a pas de liste de la "win10-x64, win81-x64, win7-64 x' dans le 'exécution'
J'ai couru dotnet restore
et il semble avoir terminé avec succès.
J'ai mis à jour tous les paquets appropriés pour RC2.
Vous devez vous connecter pour publier un commentaire.
J'aurais fait exactement ce que le message d'erreur dit. Lors de la migration de la RC1, je n'ai pas réalisé que j'avais pour spécifier un
runtimes
section dans maproject.json
fichier.Dans mon
project.json
j'ai ajouté l'article suivant:Et j'étais bon pour aller.
Mise À Jour 27 Février 2017
Nouveaux modèles de projet dans Visual Studio 2017 RC ne nécessitent plus de temps d'exécution, à préciser (dans
project.json
ou.csproj
) à l'avance si vous choisissez de déployer votre application en tant queFramework Dependent Deployment
(FDD).Si, toutefois, vous choisissez de déployer votre application à l'aide de
Self-contained Deployment
(SCD), alors vous aurez besoin de spécifier tous les temps d'exécution, vous voulez que votre application de fonctionner sur à l'avance dans votre.csproj
fichier.Ci-dessous est un exemple de
.csproj
fichier pour une application qui utilise le SCD méthode de déploiement:Veuillez voir ce lien pour plus d'information, qui comprend une description détaillée de ces deux types d'options de déploiement, ainsi que leurs avantages et leurs inconvénients.
J'ai reçu ce message d'erreur après la mise à jour de VS2015 de base modèle pour 1.0.1. C'est parce que j'ai un PCL qui cible
netstandard 1.4
si vous ne voulez pas avoir à le spécifier à chaque moment de l'exécution, il suffit de changer la dépendance de balisage pourMicrosoft.NETCore.App
à ceci:dans le projet.json j'ai changé ce (ajoutée):
Maintenant je peux le créer encore une fois 🙂
mise à jour: maintenant, je peux construire à nouveau, mais ne pas "courir" le site web.
Vous devez vous assurer que vous avez le runtime sdk et aussi:
https://www.microsoft.com/net/download/core#/current
J'ai reçu ce message, car j'ai utilisé le incroyablement cassé Gestionnaire de Package NuGet dans Visual Studio 2015 pour la mise à jour de mon projet.json dépendances. Il a tourné ce:
dans cette:
Bye Bye, la plate-forme de définition de!
Si vous lisez ces deux liens:
D'abord, https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/using-with-xplat-cli
et
deuxième, https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog
Vous verrez que vous pouvez créer une version entièrement portable à l'aide de l'extrait de code suivant dans les dépendances de l'élément racine du projet.json. Il n'est pas nécessaire de spécifier des durées maximales que c'est un niveau de BASE d'exécution qui devrait être plateforme agnostique, ou connu comme "Cadre dépendante"
ou vous pouvez construire pour de multiples plates-formes cibles ("autonome applications"), par la suppression du type: plate-forme de l'élément comme ceci:
Ajoutez à cela les dépendances de l'élément racine du projet.json
et l'ajouter comme nouveau au niveau de la racine de l'élément
Plusieurs ciblée nécessite que vous offre la plateforme de noms connus comme ".NET de Base d'Exécution des Identificateurs (RID)" UNE liste de ceux-ci peuvent être trouvés à la deuxième lien ci-dessus. Il comprend de nombreuses versions de Windows, Linux et OS X.
Pour un bon aperçu des différents déploiement optins, vous pouvez lire cette page:
https://docs.microsoft.com/en-us/dotnet/articles/core/deploying/index
À partir du lien ci-dessus:
Dans mon cas, j'avais juste mis à jour tous les packages nuget à leurs versions les plus récentes et nuget changé ma 'Microsoft.NETCore.Application d'un paquet de référence pour les éléments suivants:
Je l'ai changé de retour vers le formulaire ci-dessous et tout a bien fonctionné:
Good bye 3 heures de ma vie....
si vous exécutez un dotnet nouveau et de regarder le projet de sortie json, vous verrez que les monikers ont changé.
Apportez les modifications de votre projet.json comme suit:
J'ai trouvé un lien utile de commentaire par svick en vertu de la page suivante:
https://github.com/dotnet/cli/issues/2442
Je trouve que vous avez besoin de ce qui suit dans le projet.json. Voici ce qui était nécessaire pour réparer mon erreur:
Dépendances
Cadres
Runtime
Vous pouvez ajouter des runtimes si vous comptez publier à IIS. Veuillez voir quelque chose comme suit:
Ici est une astuce général, qui a bien fonctionné pour moi. Lors de mes trucs, des pauses, j'ai parfois créer une valeur par défaut ASP.NET application de Base du site web ou de vide api web pour regarder les dépendances du projet.json et d'ailleurs. Vous pouvez souvent attraper beaucoup de choses de cette façon. Les réponses ci-dessus sont exactement les mêmes, mais j'ai pensé que je pourrais écrire ici au cas où quelqu'un voudrait séparer la logique plus dans le modèle général format ASP.NET Core utilise.
Dans Windows 7 avec VS 2015, la soluiton après la mise à jour de netcore 1.1.2 était en train de changer le projet.fichier json comme suit:
Après la modification de cette les dépendances de mise à jour et à l'alto.