web-dev-qa-db-fra.com

erreur MSB4062: la tâche "Xamarin.Forms.Build.Tasks.GetTasksAbi" n'a pas pu être chargée à partir de l'assembly

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é.

6
Vahid

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.

8
Leo Liu-MSFT

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!

0
adSad

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.

0
Ozesh

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

0
Divyesh_008

J'utilise VS 2017 avec Xamarin Forms. Voici les étapes que j'ai prises pour résoudre cette erreur:

  1. Assurez-vous que vous utilisez la même version de Xamarin.Forms pour Android et iOS. 
  2. Fermer la solution
  3. Ouvrez VS -> Outils -> Options -> Gestionnaire de paquets Nuget -> Effacer les caches NuGet
  4. Ouvrir la solution dans l'explorateur Windows
  5. Shift Delete vs dossier
  6. Shift Supprimer les dossiers bin & obj sous Android et iOS
  7. Redémarrer l'ordinateur
  8. Une fois redémarré, ouvrez VS et laissez-le restaurer les paquets NuGet automatiquement (cela peut prendre du temps)
  9. Solution propre
  10. Reconstruire la solution
0
Jonty

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

0
Fredrik

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.

0
Fire in the Hole