J'aurais dû faire exactement ce que le message d'erreur disait. Lors de la migration depuis RC1, je ne savais pas que je devais spécifier une runtimes
section dans mon project.json
dossier.
Dans mon project.json
j'ai ajouté la section suivante:
"runtimes": {
"win10-x64": { }
}
Et j'étais prêt à partir.
Mise à jour du 27 février 2017
Les nouveaux modèles de projet dans Visual Studio 2017 RC ne nécessitent plus que les heures d'exécution soient spécifiées (dans project.json
ou .csproj
) à l'avance si vous choisissez de déployer votre application en tant que Framework Dependent Deployment
(FDD).
Si, cependant, vous choisissez de déployer votre application à l'aide de Self-contained Deployment
(SCD), vous devrez spécifier toutes les heures d'exécution sur lesquelles vous souhaitez que votre application s'exécute à l'avance dans votre .csproj
fichier.
Voici un exemple de .csproj
fichier pour une application qui utilise la méthode de déploiement SCD:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp1.0</TargetFramework>
<VersionPrefix>1.0.0</VersionPrefix>
<DebugType>Portable</DebugType>
<RuntimeIdentifiers>win10-x64;osx.10.11-x64</RuntimeIdentifiers>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="9.0.1" />
</ItemGroup>
</Project>
Veuillez consulter ce lien pour plus d'informations, qui comprend une description détaillée des deux types d'options de déploiement, ainsi que de leurs avantages et inconvénients.
J'ai reçu cette erreur après la mise à jour du modèle principal VS2015 vers la version 1.0.1. C'est parce que j'ai un PCL qui cible
netstandard 1.4
si vous ne voulez pas avoir à spécifier chaque exécution, changez simplement le balisage de dépendance pourMicrosoft.NETCore.App
en ceci:la source
dans project.json j'ai changé ceci (type ajouté):
Maintenant, je peux reconstruire :-)
mise à jour: maintenant je peux reconstruire mais pas "exécuter" le site Web.
Vous devez vous assurer que vous disposez également du runtime et du sdk:
https://www.microsoft.com/net/download/core#/current
la source
J'ai reçu cette erreur car j'ai utilisé le gestionnaire de package NuGet incroyablement cassé dans Visual Studio 2015 pour mettre à jour mes dépendances project.json. Cela a transformé ceci:
dans ceci:
Bye bye, définition de la plateforme!
la source
Si vous lisez ces deux liens:
Tout d'abord, https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/using-with-xplat-cli
et
deuxièmement, https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog
Vous verrez que vous pouvez créer une version complètement portable à l'aide de l'extrait de code suivant dans l'élément racine des dépendances dans project.json. Il n'est pas nécessaire de spécifier les environnements d'exécution car il s'agit d'un environnement d'exécution de niveau CORE qui doit être indépendant de la plate-forme ou appelé «Dépendant du cadre»
ou vous pouvez créer pour plusieurs plates-formes ciblées ("applications autonomes") en supprimant l'élément type: platform comme ceci:
Ajoutez ceci à l'élément racine des dépendances dans project.json
et ajoutez ceci en tant que nouvel élément de niveau racine
Plusieurs cibles nécessitent que vous fournissiez des noms de plates-formes connus sous le nom de «IDentificateurs d'exécution .NET Core (RID)». Une liste de ceux-ci se trouve sur le deuxième lien ci-dessus. Il comprend de nombreuses versions de Windows, Linux et OS X.
Pour un bon aperçu des différentes options de déploiement, vous pouvez également lire cette page:
https://docs.microsoft.com/en-us/dotnet/articles/core/deploying/index
À partir du lien ci-dessus:
la source
Dans mon cas, je venais de mettre à jour tous les packages nuget vers leurs dernières versions et nuget a changé la référence de mon package `` Microsoft.NETCore.App '' comme suit:
Je l'ai changé à la forme suivante et tout a bien fonctionné:
Au revoir 3 heures de ma vie ...
la source
si vous exécutez un dotnet new et regardez le projet de sortie json, vous verrez que les monikers ont changé.
Apportez les modifications à votre project.json comme suit:
la source
J'ai trouvé un lien utile du commentaire de svick sous la page suivante: https://github.com/dotnet/cli/issues/2442
la source
J'ai trouvé que vous avez besoin de ce qui suit dans project.json. Voici ce qui était nécessaire pour corriger mon erreur:
Dépendances
Cadres
Durée
Vous souhaiterez peut-être ajouter des environnements d'exécution si vous prévoyez de publier sur IIS. Veuillez voir quelque chose comme suit:
Voici une astuce générale qui a bien fonctionné pour moi. Lorsque mes affaires se cassent, je crée parfois une application ASP.NET Core par défaut, soit le site Web, soit l'API Web vide pour examiner les dépendances dans project.json et ailleurs. Vous pouvez souvent attraper beaucoup de choses de cette façon. Les réponses ci-dessus sont parfaites, mais j'ai pensé que j'écrirais ceci ici au cas où quelqu'un voudrait séparer davantage la logique dans le format de modèle général utilisé par ASP.NET Core.
la source
Dans Windows 7 avec VS 2015, la solution après la mise à jour vers netcore 1.1.2 changeait le fichier project.json comme suit:
Après avoir changé cela, les dépendances seront mises à jour et viole.
la source