Le “ResolveLibraryProjectImports” echec de la tâche de façon inattendue
J'ai un Xamarin projet, qui est basé sur MvvmCross
. Le projet est à la fois pour iOS et Android. J'ai ouvert ce projet dans Visual Studio 15. J'ai eu quelques erreurs, que j'ai résolu en un rien de temps. Il y a quelques erreurs, qui sont coincé et je n'arrivais pas à résoudre, même après des recherches sur Google et sur Stackoverflow. J'ai essayé de chaque méthode trouvé sur Stackoverflow, mais encore toutes les autres erreurs sont là.
Ce projet est à l'aide de la 3e partie des bibliothèques comme RestSharp et BoxApi.V2 (quelques)
Que j'ai écris mon journal d'erreur ci-dessous.
Severity Code Description Project File Line Suppression State
Error The "ResolveLibraryProjectImports" task failed unexpectedly.
System.IO.FileNotFoundException: Could not load assembly 'RestSharp(Android), Version=0.0.0.0, Culture=neutral, PublicKeyToken='. Perhaps it doesn't exist in the Mono for Android profile?
File name: 'RestSharp(Android).dll'
at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference reference, ReaderParameters parameters)
at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(String fullName, ReaderParameters parameters)
at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(String fullName)
at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.GetAssembly(String fileName)
at Xamarin.Android.Tasks.ResolveLibraryProjectImports.Extract(DirectoryAssemblyResolver res, ICollection`1 jars, ICollection`1 resolvedResourceDirectories, ICollection`1 resolvedAssetDirectories, ICollection`1 resolvedEnvironments)
at Xamarin.Android.Tasks.ResolveLibraryProjectImports.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() BoxApi.V2 (Android)
Cette erreur est à répéter 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 qu'une certaine compatibilité ou de la croix-OS problème?
J'ai vérifié toutes les références d'assembly et tous fonctionnent très bien.
xamarin est la dernière version, et j'ai toutes les versions du SDK téléchargé
Vous pouvez peut-être essayer de désinstaller et d'installer effectuées packages nuget, dans ce qui peut RestSharp
restsharp n'est pas de nuget. ses un projet qui a déjà été importé dans cette solution
Est-il un
RestSharp.dll
dans le bin/Debug
répertoire de votre projet Android après que vous construisez? Si non, alors c'est votre problème.OriginalL'auteur Zaeem Sattar | 2017-04-24
Vous devez vous connecter pour publier un commentaire.
J'ai littéralement juste eu cela avec une nouvelle marque de Xamarin.Les formulaires d'application dans Visual Studio 2017.
La cause semble être que j'ai laissé VS2017 créer le projet dans son emplacement par défaut 'C:\Users\Dave\Documents\Visual Studio 2017\Projects" et cela a abouti à l'une des plus fichiers maintenant un chemin trop long.
J'ai déplacé la solution à la racine de mon disque D, et il s'appuie sans aucun problème.
cette solution n'a pas fonctionné pour moi 🙁
J'ai essayé cela aussi et cela n'a pas résolu mon problème, mais je n'ai de toute façon parce qu'il aide sans doute.
OriginalL'auteur DilbertDave
Votre problème est probablement lié à cette post sur le Xamarin forums, et cette bugzilla entrée. Sans reproductible de l'échantillon, tout ce que je peux vous conseillons d'essayer:
pour les dernières versions stables
bin
etobj
des dossiers à partir de votre projet répertoiresÀ défaut de tout cela, il n'est pas susceptible d'être quelqu'un qui peut vous aider sans reproductible de l'échantillon et, potentiellement, votre Xamarin journaux.
Cela ne semble pas juste ...
et de désinstaller l'application à partir de l'émulateur ou le périphérique
OriginalL'auteur Luke Pothier
modifier votre projet android (fichier csproj) comme ci-dessous
cette question sujet peut guide https://github.com/xamarin/AndroidSupportComponents/issues/51
ouais c'est comme une fonctionnalité cachée 🙂
OMG! J'ai passé tellement de temps avec ce problème... Merci beaucoup!
OriginalL'auteur Alper Ebicoglu
Avait le même problème. Voici ma solution
OriginalL'auteur Valynk
Bien pour moi le problème était dans mon fichier xaml...
En quelque sorte lors du réglage de la Mise en page des limites j'ai utilisé". " comme séparateur au lieu de ','
e.g
AbsoluteLayout.LayoutBounds="0.5.0.3,1,0.3"
doit avoir étéAbsoluteLayout.LayoutBounds="0.5,0.3,1,0.3"
Donc en changeant le'.'', ' résolu le problème
OriginalL'auteur Devesh Bahuguna
Ce qui m'est arrivé lorsque j'ai accidentellement installé les packages nuget dans une bibliothèque de classe qui a été inclus dans la solution. J'ai juste eu à désinstaller les packages à partir du projet de bibliothèque de classes.
OriginalL'auteur Michael Jedd
Dans mon cas, ce problème est venu avec un autre lié à mon xaml.
J'ai eu à résoudre le second dans l'ordre de cette erreur disparaît. J'ai nettoyer la classe avec un nouveau contenu par défaut, puis nettoyer tous les projets et la solution. Par dernier, près de visual studio, ouvrez , exécutez le projet et Il fonctionne savoir .-.
OriginalL'auteur Gian Gomen
C'est encore fraîche problème, après toutes les tentatives que je voulais essayer de déplacer le code pour un plus court chemin - mais qui est beaucoup de travail que svn direction va devenir compliqué, donc je voulais d'abord vérifier si le chemin est vraiment un problème, une façon de le faire était de vérifier où le android Sdk sont stockées. Je suis sur mac et l'enquête a révélé que les Sdk chemin était plus long que mon cheminement d'un projet. De Plus j'ai essayé avec un nouveau projet, et qui a été de compiler correctement.
Donc j'ai laissé tomber l'idée du changement de vitesse. Au lieu de cela j'ai utilisé svn et comparé ce qui a changé depuis la dernière corriger construire.
La comparaison a révélé que le fichier de projet de droid a été en quelque sorte en se référant au projet de fichier de l'iOS, il semble que certains bug de Visual Studio. J'ai donc annuler les changements et que tout est redevenu normal.
OriginalL'auteur Kalpesh Popat
je reçois le même message d'erreur et j'ai l'habitude de résoudre ce problème en fermant tous les autres a ouvert xamarin des solutions et il y en a un de plus, j'avais résolu ce problème -> allez dans le gestionnaire de tâches et de trouver MSBUILD Service et de fin de service -> nettoyer votre solution -> Reconstruire
OriginalL'auteur Ronak Shethia
Nous avons rencontré ce cas aussi, il semble être un certain type de condition de course lors de la construction de plusieurs projets et un très profond et complexe de l'arbre des dépendances (notre exemple, n'a plus de 100 projets).
La seule façon que nous avons été en mesure de résoudre ce (au-delà continuellement la reconstruction) est de désactiver Visual Studio 2017 Parallèle de Construire des Compétences (Outils->Options->les Projets et les Solutions->créer et Exécuter->"1" nombre Maximal de projet parallèle construit).
Le problème semble être dans ResolveLibraryProjectImports.cs (https://github.com/xamarin/xamarin-android/blob/93ddf96f86710ad848d5189858567dd7fe964579/src/Xamarin.Android.Build.Tasks/Tasks/ResolveLibraryProjectImports.cs) il est plus probable une condition de concurrence dans leur logique de raccourcir les noms de fichier.
Il ya zéro des tests autour de ce qui signifie qu'il est plus probable que certains code utilisé.
Je vais tenter de creuser plus et obtenir une question ouverte sur GitHub mais de trouver un fiable repo est probablement va être très difficile.
OriginalL'auteur aolszowka
Je travaille avec XAML (.xaml) et le fichier code-behind (.xaml.cs). Mon problème est que j'ai eu le même nom de la page, mais dans des espaces de noms différents. Le code XAML et le code derrière le fichier ne correspond pas ensemble. Donc finalement c'était un problème avec mon code XAML, parce que bien sûr il ne trouve pas le point de vue de l'élément.
OriginalL'auteur testing
Cela a fonctionné pour moi:
Espère que cette aide.
OriginalL'auteur FelixFelicis
Ont encore des problèmes ? Vérifiez vos espaces de noms et de votre code xaml. Parfois, lorsque vous copier/coller des fichiers, il peut être le problème.
OriginalL'auteur Alejandro Bastidas
C'est probablement un problème avec vos références /référence assemblées?
Si vous regardez cadre de chaque projet, les références d'un dossier dans l'explorateur de solutions, toutes les références que visual studio ne peut pas trouver, supprimer et ajouter de nouveau (droite cliquez sur la référence de dossier à ajouter).
OriginalL'auteur Kyle Burkett
J'ai fait Face à cette question des milliers de fois, sa en fait une chose très simple quand vous créez un nouveau projet visual studio crée dans le Lecteur C:dans son dossier par défaut, tout ce que vous avez à faire est de déplacer votre projet dans un autre Lecteur Comme le D:, E: quel que soit assurez-vous de le garder dans la racine de votre Disque, c'est à dire Si vous vous déplacez dans D:, Puis placez-le de cette D/Projet/solutionFile
OriginalL'auteur G.hakim
Réponse Courte:
OU
J'ai été confronté à la même solution que l'OP. C'est la solution pour l'erreur que l'OP avait. J'ai répondu à l'autre cause de l'erreur qui peut se produire pour les autres ci-dessous.
Explication:
Il ya généralement deux types de problèmes qui peuvent survenir. La première comprend les fichiers de projet étant trop long pour le Système.IO.lecteur conduisant à une erreur, y compris du texte le long des lignes de "fichier.chemin d'accès trop long".
La deuxième cause de l'erreur est due à VS formant le nom de la dll, mais un chemin d'accès incorrect pour le projet de la ressource. Un exemple pourrait être la VS à l'aide de "App1\bin\Debug\net452\temp.dll" au lieu de "App1\bin\Debug\net1.6\temp.dll".
OriginalL'auteur Akanni A
Voici le problème:
Système.IO.PathTooLongException: Le chemin d'accès spécifié, le nom de fichier, ou les deux sont trop longs. Le nom de fichier complet doit être inférieure à 260 caractères, et le nom du répertoire doit être de moins de 248 caractères.
Essayez de déplacer votre projet à un autre emplacement, comme "C:/" , ou de modifier le nom du projet pour quelque chose de plus bref
OriginalL'auteur Sumit Pathak
J'ai rencontré le même problème et aucune des solutions ci-dessus a travaillé. Après avoir remarqué et de l'erreur sur la liste concernant la Cryptographie je savais que cela devait être lié à la norme FIPS est activé (requis par un client VPN)
Par la désactivation de la FIPS et de redémarrer Visual Studio, le problème a été résolu.
OriginalL'auteur Geovani Martinez
J'ai eu cette erreur. Dans ma situation, il a été accompagné par
Xamarin.Forms.Maps
pas l'importation dans l'un desxaml.g.cs
correctement les fichiers. J'ai eu toutes les instructions à l'aide de corriger. L'IDE a été montrant aucune erreur, mais il arrêtait pas de me dire queXamarin.Forms
n'ont pas d'espace de nom de la Carte. Il a été génératrice d'MapPage.xaml.g.cs
commeXamarin.Forms.Map
au lieu deXamarin.Forms.Maps.Map
et je ne pouvais pas la forcer un correctif manuellement. Il s'est avéré, cependant, que la suggéréxmlns:maps
pour les cartes a été à l'origine du problème. L'IDE m'avait dit d'utiliser"http://xamarin.com/schemas/2014/forms"
mais le bon espace de noms est"clr-namespace:Xamarin.Forms.Maps;assembly=Xamarin.Forms.Maps"
. Après j'ai changé de ce qu'il a pu construire monApp1.dll
OriginalL'auteur Travis Fleenor
C'était la façon dont j'ai obtenu l'erreur. Dans un StackLayout je l'ai mis dans un Rembourrage de propriété, et je séparait les 4 chiffres par une espace plutôt qu'une virgule.
Afin de trouver le bug, j'ai eu à commenter les contrôles XAML individuellement et de reconstruire à isoler l'erreur, et finalement, j'ai trouvé le problème de la ligne.
Donc, fondamentalement, cela a été le message d'erreur que j'ai pour une erreur de syntaxe dans mon code XAML!
Dans une autre langue, je m'attends à être informés de ce qu'est l'erreur afin que je puisse corriger cela en quelques secondes. Mais ce qui m'a pris quelques heures - bien que la prochaine fois, je sais plus quoi faire.
OriginalL'auteur arame3333