L'actuel .NET SDK ne prend pas en charge le ciblage .NET de Base 2.1. cible .NET Core 2.0 ou inférieur ou utiliser un vs de la .NET SDK qui prennent en charge NET de Base 2.1
ont essayé la mise à niveau vers la version professionnelle de visual studio 2017 v 15.6.0 (Extrait 7.0)
et installé aspnetcore-runtime-2.1.0-preview1-finale-victoire-x64 et .net SDK de base 2.1.4.
Lorsque je créé une nouvelle application web, je reçois un message d'erreur indiquant que
"Le courant .NET SDK ne prend pas en charge le ciblage .NET de Base 2.1. Soit
cible .NET Core 2.0 ou plus bas, ou utilisez une version de l' .NET SDK
prend en charge .NET de Base 2.1."
Quand j'essaie de compiler un projet existant, j'obtiens une erreur
"Le courant .NET SDK ne prend pas en charge le ciblage .NET de Base 2.1. Soit
cible .NET Core 2.0 ou plus bas, ou utilisez une version de l' .NET SDK
prend en charge .NET de Base 2.1."
Je ne vois pas ".net de base 2.1" dans mon framework cible
Je n'ai pas de mondial.fichier json dans mon ordinateur
Quand j'essaie dotnet --info, j'obtiens ce
c:\source\dnacloud\testapp>dotnet --info .NET Outils de Ligne de Commande
(2.1.100)Product Information: Version: 2.1.100 Commit SHA-1 hash: b9e74c6 Runtime Environment: OS Name: Windows OS Version: 10.0.16299 OS Platform: Windows RID: win10-x64 Base Path: C:\Program Files\dotnet\sdk.1.100\ Microsoft .NET Core Shared Framework Host Version : 2.0.5 Build : 17373eb129b3b05aa18ece963f8795d65ef8ea54
- C'est à la pointe des trucs, tout 15.x.0 VS version est agilely brisé par la conception. La solution de contournement n'a pas d'odeur correcte. Assez important d'utiliser l'Aide > Envoyer des Commentaires > Signaler un Problème ou ce ne sera pas corrigé assez vite.
- "broken by design" == mauvaise conception. Je reçois ce que MS veut déployer rapidement, mais la dépendance de l'enfer, ils sont réintroduire le développement du paysage me rappelle d'essayer d'essayer de construire le code sur les noyaux linux dans les années 90...
Vous devez vous connecter pour publier un commentaire.
Le problème ici est que Microsoft confondre un tas de gens avec la façon dont ils étaient les leurs .NET de Base Sdk.
Dans l'affiche originale du message le chemin C:\Program Files\dotnet\sdk\2.1.100\ NE semble PAS représenter l' .NET de Base 2.1 exécution (mais vous pensez que ça le fait).
Je suis tombé sur ce post L'actuel .NET SDK ne prend pas en charge le ciblage .NET de Base 2.1 sur developercommunity.visualstudio.com où un support de Microsoft, personne explique la confusion:
Donc ... pour l'obtenir .NET de Base 2.1 soutien pour la construction via le SDK, vous devez installer le SDK de la version 2.1.300 au moins (depuis 2.1.2 ne l'est PAS .NET de Base 2.1) ... ouais, c'était déroutant. Merci Microsoft pour certains le temps perdu sur ce.
Ce qui m'est arrivé après l'installation de 2.2.100-preview3-009430 et de mise à jour pour Visual Studio 15.9.2.
Je l'ai résolu en activant la fonction "Utiliser les aperçus de la .NET SDK de Base" option.
Aller à: Outils > Options > les Projets et les Solutions > .NET de Base
Cochez la case "Utiliser les aperçus de la .NET SDK de Base" de la boîte de
Redémarrez Visual Studio et la reconstruction de la solution.
VS Options d'Aperçu
Installation
.NET SDK de Base 2.1.300-preview2
a fait le tour pour moi:Mise à JOUR: juste au cas où, il y a une version plus récente a été publiée récemment. Vous pouvez télécharger la nouvelle .NET SDK de Base pour 2.2.0-preview1 (qui comprend ASP.NET 2.2.0-preview1) ici.
Voir aussi ce réponse lorsque vous obtenez l'erreur comme ceci en général:
J'ai résolu le problème.
la cause est que j'ai installé
aspnetcore-runtime-2.1.0-preview1-final-win-x64
et.net core SDK 2.1.4-x64
versions.c:\Program Files\dotnet
c:\Program Files(x86)\dotnet
.Pour résoudre ce je
installé la version x86 de la sdk et aspnetcore de l'exécution,
définir la MSBuildSDKsPath variable d'environnement pour pointer vers le nouveau chemin d'installation.
supprimé toutes obsolètes sdk à partir du panneau
La question VS2017 mise à Jour 3 'de Microsoft.NET.Sdk.Web' n'a pas pu être trouvé aidé dans la résolution de ce problème.
Même qui s'est passé pour moi, mais pour la version 2.2 de l' .NET de Base.
J'ai installé la dernière version de .NET Core 2.2 SDK, qui a été 2.2.202 à l'époque.
Visual studio m'a permis de créer un nouveau projet pour le Noyau 2.2, mais il a été montrant l'erreur:
La cible cadre de mon projet était vide et la liste déroulante à ne pas montrer 2.2.
Après l'installation .NET SDK de Base 2.2.103, l'erreur a disparu et la liste déroulante ne montrer ".NET Core 2.2".
https://www.microsoft.com/net/download/visual-studio-sdks
Vous pouvez télécharger le kit de développement à partir du site ci-dessus
vérifier le SDK qui est dans votre machine
Chemin C:\Program Files\dotnet\sdk
Modifier ou vérifier le framework cible dans visual studio,
Clic droit sur le Démarrage de la Demande ou du projet => Application => Framework Cible.
Vous pouvez changer de cadre et de construire la solution et de restauration de pépite paquets.
L'arrêt d'IIS pour la publication résolu le problème. Mais d'abord, j'ai eu besoin d'installer net de base 2.1 SDK et mise à jour de Visual Studio.
J'ai eu l' .Net SDK de Base 2.1.4 installé et suivit les autres réponses dans ce post, sans la résolution de mon problème. Ce qui finalement fait pour moi a été de l'installation .Net SDK de Base de la version 2.1.301, et de désinstaller tous les autres version. Semble que le SDK 2.1.4 ne peut pas cibler .Net de Base 2.1 mais SDK 2.1.301 fait le travail.
Il ressemble à Microsoft sont de favoriser l'adoption de meilleures pratiques de codage pour les premiers adoptants des derniers développements de logiciels Net de Base 2.1 par le retrait de la capacité d'utiliser des logiciels plus anciens où les mauvaises habitudes de l'emporter. Net Core 2.0 et les versions plus anciennes sont presque en fin de vie ne devrait donc pas être utilisé à tous. (https://blogs.msdn.microsoft.com/dotnet/2018/06/20/net-core-2-0-will-reach-end-of-life-on-september-1-2018/)
1) Microsoft ont retiré ServiceLocator depuis largement considéré comme un anti-modèle résultant dans des conditions difficiles pour la compréhension du code.
2) améliorer les applications MVC, le AccountController a été retiré de l'Authentification/Autorisation à encourager l'utilisation du Rasoir pages qui mettent en œuvre le Seul Responsibiity Principe.
Il ne serait pas considéré comme une bonne pratique pour contourner ces changements afin d'augmenter la perpétuation de logiciel construit à la baisse des logiciels les normes d'ingénierie dans le passé.
Je suis à l'aide de Coureur, j'ai eu
J'ai eu:
J'ai essayé de ne garder que le dernier sdk, et:
Donc j'ai tout enlevé et réinstallé 2.1.602. Faites un nouveau projet de Coureur.
Et il a travaillé. Ne peut pas dire que j'ai compris comment je l'ai résolu...
Les problèmes pour certains peuples, semble être liée à la croissance mondiale.json, voir:
- https://docs.microsoft.com/fr-fr/aspnet/core/migration/21-to-22?view=aspnetcore-2.2&tabs=visual-studio
- https://docs.microsoft.com/fr-fr/dotnet/core/tools/global-json
- https://andrewlock.net/the-sdk-microsoft-net-sdk-web-specified-could-not-be-found/
D'autres choses que je faisais avant (qui ne semble pas résoudre le problème, mais aurait pu?):
- Mise à jour du pilote de la 2018.3.2 à 2018.3.4 (dernier).
- L'installation de Mono (a l'aide de l'un à partir de l'Unité lors de la regarder dans les Coureur paramètres de construction).
- Essayé d'utiliser des MSBuild à partir de Jetbrain (celui utilisé pour Linux) sans succès.
- L'installation de tout ce qui concerne .NET de Base VS programme d'installation.
- Mise à jour VS communauté ot plus tard.
- Redémarrage.
Dans
Rider/Build, Execution, Deployement/Toolset and Build
j'ai maintenant:Mono exécutable:
C:\Program Files\Mono\bin\mono.exe
- NET de Base CLI exécutable:
C:\Program Files\dotnet\dotnet.exe
- L'utilisation de MS version (Auto détecté 16.0):
C:\Program - Files\dotnet\sdk\2.1.602\MSBuild.dll
Assurez-vous que vous n'avez pas
global.json
fichier dans votre dossier racine du projet que les forces de votre projet .NET SDK 2.1 seulement.Si vous avez ce mondial.fichier json, supprimer, puis redémarrez visual studio.
Aussi gênant que cela puisse paraître, j'ai passé près d'une heure de bricolage et j'ai même téléchargé plusieurs version du SDK pour le forcer à utiliser 2.2
J'ai commencé à avoir ce message d'erreur après avoir installé le SDK 2.2.300. Après la lecture de ce post et quelques autres je
downgrade pour SDK 2.2.1 xx
et l'erreur a disparu.
Note: j'ai dû désinstaller SDK 2.2.300 et de redémarrer après l'installation de SDK 2.2.1 xx.