Après la mise à jour des packages "Xamarin.Forms" et "Xamarin.Forms.Maps" vers la dernière version i.e "3.0.0.446417", le projet ne sera plus généré et le message d'erreur suivant s'affiche:
C:\Users\[MyUser]\.nuget\packages\xamarin.forms\3.0.0.446417\build\netstandard2.0\Xamarin.Forms.targets(35,3):
error MSB4062: The "Xamarin.Forms.Build.Tasks.GetTasksAbi" task could not be loaded from the Assembly
C:\Users\[MyUser]\.nuget\packages\xamarin.forms\3.0.0.446417\build\netstandard2.0\Xamarin.Forms.Build.Tasks.dll.
Could not load file or Assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies.
The system cannot find the file specified. Confirm that the <UsingTask> declaration is correct, that the Assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.
L'erreur fait référence à l'emplacement du fichier Xamarin.Forms.Targets :
<XamlGTask
XamlFiles="@(EmbeddedResource)" Condition="'%(Extension)' == '.xaml' AND '$(DefaultLanguageSourceExtension)' == '.cs'"
Language = "$(Language)"
AssemblyName = "$(AssemblyName)"
OutputPath = "$(IntermediateOutputPath)">
<Output ItemName="FilesWrite" TaskParameter="GeneratedCodeFiles" />
<Output ItemName="Compile" TaskParameter="GeneratedCodeFiles" />
</XamlGTask>
Et le XamlGTask est souligné avec un avertissement qui dit:
Task 'XamlGTask' is not defined
Ce que j'ai fait jusqu'à présent, c'est de nettoyer toute la solution, de supprimer les dossiers obj/bin et d'effacer tous les caches Nuget des paramètres du gestionnaire de packages, mais aucun d'entre eux n'a aidé.
erreur MSB4062: Impossible de charger la tâche “Xamarin.Forms.Build.Tasks.GetTasksAbi” à partir de l'assembly.
Pour résoudre ce problème, vous devez absolument vous assurer que tous les projets référencent la même version du package Xamarin.Forms.
Dans votre Solution Explorer
, cliquez avec le bouton droit de la souris sur le nœud de votre solution et sélectionnez Manage NuGet Packages for solution...
. Sélectionnez l'onglet Consolidate
et cliquez sur le package Xamarin.Forms
NuGet pour confirmer que tous les projets utilisaient la même version. Sinon, mettez tout à jour avec la même version.
En outre, certains ont dit qu'installer .NET Framework 4.7.1 aiderait à résoudre ce problème, vous pouvez vérifier si cela aide.
Certifié: https://forums.xamarin.com/discussion/comment/324869#Comment_324869
Remarque: Si vous ne pouvez pas installer .net Framework 4.7.1 avec succès, essayez de mettre à jour Windows 10 vers la dernière version. Merci @Vahid.
J'espère que cela t'aides.
J'ai essayé tout ce qui précède et a échoué. Je mentionne que j'utilise VS2017 v15.7.5.
Si rien ne fonctionne, essayez ceci:
Fermer VS - toutes les instances
Rouvrez VS sans charger votre solution
Sélectionnez Outils -> Options -> Gestionnaire de paquets NuGet -> Paramètres du gestionnaire de paquets -> Gestionnaire de paquets NuGet -> Général -> Effacer tout le (s) cache (s) NuGet
Chargez votre solution et construisez.
Cela a fonctionné pour moi!
Voici ce qui a fonctionné pour moi:
Étape 1: Fermez Visual Studio avec la solution sur laquelle vous travaillez.
Étape 2: supprimez le dossier .vs de votre dossier de solution (le dossier .vs est généralement masqué)
Étape 3: rouvrez votre solution avec visual studio
C'est tout.
J'ai fait face au même problème récemment, la solution la plus simple est d'installer .net framework 4.7.1, c'est tout. C'est parce que 4.7.1 est requis pour netstandard2!
Référence: https://github.com/xamarin/Xamarin.Forms/issues/2667
J'utilise VS 2017 avec Xamarin Forms. Voici les étapes que j'ai prises pour résoudre cette erreur:
Solution 1:
Parfois, il est utile de tuer le processus MsBuild avec le gestionnaire de tâches. (Appuyez sur ctrl + Maj + Echap)
Solution 2:
Solution propre
Fermer Visual Studio
Supprimer tous les dossiers obj/bin
(Parfois, une suppression du dossier des packages est requise)
Redémarrer Visual Studio et reconstruire
J'ai eu ce problème et la solution était un redémarrage en attente pour la mise à jour Windows qui devait être effectuée. très ennuyant.