2017-04-24 1 views
15

J'ai un projet xamarin qui est basé sur MvvmCross.Le projet est à la fois pour IOS et Android.J'ai ouvert ce projet dans le studio visuel 15.i j'ai eu quelques erreurs que j'ai résolues en un rien de temps. Il y a quelques erreurs qui sont bloquées et je n'ai pas pu les résoudre même après une recherche sur google et sur stackoverflow.J'ai essayé chaque méthode trouvée sur stackoverflow mais toutes les erreurs restantes sont là. Ce projet utilise des bibliothèques tierces comme RestSharp et BoxApi.V2 (peu plus)La tâche "ResolveLibraryProjectImports" a échoué de manière inattendue

Je poste mon journal d'erreur ci-dessous.

Code de gravité Description du projet État Suppression de la ligne de fichier Erreur La tâche "de ResolveLibraryProjectImports" a échoué de façon inattendue. System.IO.FileNotFoundException: Impossible de charger l'assembly 'RestSharp (Android), Version = 0.0.0.0, Culture = neutre, PublicKeyToken ='. Peut-être qu'il n'existe pas dans le profil Mono pour Android? Nom du fichier: 'RestSharp (Android) .dll à Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve (référence de AssemblyNameReference, les paramètres de ReaderParameters) à Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve (String fullName, ReaderParameters paramètres) à Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve (String fullName) à Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.GetAssembly (String filename) à Xamarin.Android.Tasks.ResolveLibraryProjectImports.Extract (DirectoryAssemblyResolver res , ICollection 1 jars, ICollection 1 resolvedResourceDirectories, ICollection 1 resolvedAssetDirectories, ICollection 1 resolvedEnvironments) à Xamarin.Android.Tasks.ResolveLibraryProjectImports.Execute() à Micr osoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() à Microsoft.Build.BackEnd.TaskBuilder.d__26.MoveNext() BoxApi.V2 (applications)

Cette erreur se répète Pour tous les projets inclus dans cette solution. Donc, je reçois cette erreur plusieurs fois.

Je tiens également à ajouter que le projet a été précédemment construit sur MAC et j'utilise Windows, est-ce que cela rend une compatibilité ou un problème d'OS croisé? J'ai vérifié toutes les références d'assemblage et tout fonctionne correctement.

+0

Quelles versions de Xamarin pour Visual Studio, Xamarin.Android et le SDK Android avez-vous installées? –

+0

xamarin est la dernière version, et j'ai toutes les versions SDK téléchargées –

+0

Vous pouvez peut-être essayer de désinstaller et d'installer les paquets nuget effectués, dans ce cas RestSharp – Plac3Hold3r

Répondre

25

J'ai littéralement eu cela avec une toute nouvelle application Xamarin.Forms dans Visual Studio 2017.La cause première semble être que je laisse VS2017 créer le projet dans son emplacement par défaut 'C: \ Utilisateurs \ Dave \ Documents \ Visual Studio 2017 \ Projets' et cela a eu pour résultat qu'un de plusieurs fichiers a maintenant un chemin ce qui est trop long.

J'ai déplacé la solution à la racine de mon lecteur D et il se construit sans aucun problème.

+0

Heureux de voir que votre code fonctionne bien –

+0

A travaillé pour moi :) –

+1

Vous devriez obtenir un prix Nobel pour cette solution! Je vous remercie. –

5

Votre problème est probablement lié à l'article this sur les forums Xamarin et this à l'entrée bugzilla. tout ce que je peux vous conseiller d'essayer sans un échantillon reproductible, est:

  • Mise à jour Xamarin pour Visual Studio, Xamarin.Android et Xamarin.iOS les dernières versions stables
  • Nettoyage et reconstruction
  • Supprimer tous des bin et obj dossiers de vos répertoires de projet
  • Visual studio Redémarrage/PC

A défaut tous tha Il est peu probable que quelqu'un puisse vous aider sans un échantillon reproductible et potentiellement vos logs Xamarin.

+0

j'ai essayé ceci mais j'essaierai encore en supprimant et si cela fonctionne j'accepterai cette réponse –

+1

Cela ne semble pas juste ... – aegbert

0

C'est probablement un problème avec vos assemblages de références/références? Si vous regardez sous le dossier de références de chaque projet dans l'explorateur de solution, toutes les références que visual studio ne peut pas trouver, supprimer et rajouter (dossier de référence clic droit à ajouter).

0

J'ai fait face à ce problème mille fois c'est vraiment une chose très simple quand vous créez un nouveau projet que Visual Studio crée dans C: Drive dans son dossier par défaut tout ce que vous avez à faire est de déplacer votre projet dans un autre Drive Comme D :, E: assurez-vous juste de le garder dans la racine de votre disque, c'est à dire D/Project/solutionFile

0

Réponse courte:

  1. Déplacer le répertoire contenant votre solution au bureau

OU

  1. Supprimer à la bibliothèque en difficulté (dans la section Références)
  2. Fermer Visual Studio
  3. Dans Windows Explorer Go dans le répertoire de projet de votre application (l'emplacement où se trouve votre fichier "Projectname" .sln). Afficher les éléments cachés (onglet Affichage, vérifier les éléments cachés)
  4. Supprimer le dossier caché "vs" et s'il existe un fichier nommé "sou", supprimez-le également.
  5. Redémarrez Visual Studio et de lancer votre solution

Je faisais face à la même solution que OP. C'est la solution à l'erreur qu'avait le PO. J'ai abordé l'autre cause d'erreur qui peut survenir pour les autres ci-dessous. Explication: Il existe généralement deux types différents de problèmes pouvant survenir. Le premier inclut les fichiers du projet étant trop long pour System.IO.reader entraînant une erreur incluant du texte le long de "file.path too long".

La deuxième cause d'erreur est due au fait que VS forme le nom correct pour la DLL mais un chemin incorrect pour la ressource de projet. Un exemple pourrait être VS utilisant "App1 \ bin \ Debug \ net452 \ temp.dll" au lieu de "App1 \ bin \ Debug \ net1.6 \ temp.dll".

1

J'ai eu le même problème.Voici ma solution

  1. Redémarrez Visual Studio
  2. Ouvrez le projet
  3. Nettoyer la solution
  4. Reconstruire la solution
  5. solution proche
  6. Ouvrez à nouveau le projet
0

Voici le problème: System.IO.PathTooLongException: La s chemin d'accès spécifié, nom de fichier ou les deux sont trop longs. Le nom de fichier complet doit contenir moins de 260 caractères et le nom de répertoire doit contenir moins de 248 caractères.

Essayez de vous déplacer projet à un autre endroit comme « C:/», ou modifier le nom du projet pour quelque chose de plus brève

0

Ce qui est arrivé à moi quand je paquets NuGet accidentellement installé dans une bibliothèque de classe qui était inclus dans la solution. Je devais juste désinstaller les paquets du projet de bibliothèque de classes.