J'ai un projet Xamarin basé sur MvvmCross
. Le projet concerne à la fois iOS et Android. J'ai ouvert ce projet dans Visual Studio 15. J'ai eu quelques erreurs que j'ai résolues en un rien de temps. Certaines erreurs sont bloquées et je ne pouvais pas les résoudre, même après une recherche sur Google et Stackoverflow. J'ai essayé toutes les méthodes trouvées sur Stackoverflow, mais toutes les erreurs restantes sont toujours présentes .. Ce projet utilise des bibliothèques tierces comme RestSharp et BoxApi.V2
Je publie mon journal des erreurs 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 se répète pour tous les projets inclus dans cette solution. Donc, je reçois cette erreur plusieurs fois.
Je souhaite également ajouter que le projet reposait auparavant sur MAC et que j'utilise Windows, est-ce que cela crée un problème de compatibilité ou de problème de fonctionnement croisé entre les systèmes d'exploitation?.
Je viens littéralement de faire cela avec une toute nouvelle application Xamarin.Forms dans Visual Studio 2017.
La cause fondamentale semble être que j'ai laissé VS2017 créer le projet à l'emplacement par défaut "C:\Utilisateurs\Dave\Documents\Visual Studio 2017\Projets", ce qui a entraîné la création d'un chemin d'accès trop long pour l'un des fichiers .
J'ai déplacé la solution à la racine de mon lecteur D et elle est construite sans problème.
Votre problème est probablement lié à this post sur les forums Xamarin et à this bugzilla entry. Sans échantillon reproductible, tout ce que je peux vous conseiller, c'est d'essayer
bin
et obj
de vos répertoires de projet À défaut de cela, il est peu probable que quiconque puisse vous aider sans un échantillon reproductible et potentiellement vos journaux Xamarin.
éditez votre fichier de projet Android (csproj) comme ci-dessous
ce sujet peut guider https://github.com/xamarin/AndroidSupportComponents/issues/51
J'ai eu le même problème. Voici ma solution
Eh bien pour moi le problème était dans mon fichier xaml ...
D'une manière ou d'une autre en fixant les limites de la mise en page, j'ai utilisé "." en tant que séparateur au lieu de ','
par exemple
AbsoluteLayout.LayoutBounds="0.5.0.3,1,0.3"
aurait dû être AbsoluteLayout.LayoutBounds="0.5,0.3,1,0.3"
D'où le changement de '.' to ',' a résolu le problème
Je travaille avec XAML ( .xaml) et le fichier code-behind (. Xaml.cs). Mon problème était que j'avais le même nom de page, mais sous différents espaces de noms. Le fichier XAML et le code derrière le fichier ne correspondent pas. Alors finalement, c'était un problème avec mon XAML, parce que bien sûr, il n'a pas pu trouver l'élément view.
Cela a fonctionné pour moi:
J'espère que cela t'aides.
Dans mon cas, ce problème est venu avec un autre lié à mon xaml.
J'ai dû résoudre le second pour que cette erreur disparaisse. Je nettoie la classe avec un nouveau contenu par défaut, puis je nettoie tous les projets et solutions. Pour finir, fermez visual studio, ouvrez-le, lancez le projet et ça marche sait .-.
Ceci est toujours un nouveau problème, après toutes les tentatives que je voulais essayer de changer le code pour un chemin plus court - cependant c'est beaucoup de travail car la gestion de svn va se compliquer, donc je voulais d'abord vérifier si le chemin est vraiment un problème Pour ce faire, il fallait vérifier où se trouvaient les kits de développement Android. Je suis sur mac et l'enquête a révélé que le chemin d'accès des SDK était plus long que celui de mon projet. De plus, j'ai essayé avec un nouveau projet, et c'était compiler correctement.
J'ai donc abandonné l'idée de changer. Au lieu de cela, j'ai utilisé svn et comparé ce qui a changé depuis la dernière version correcte.
La comparaison a révélé que le fichier de projet de droid faisait en quelque sorte référence au fichier de projet d’iOS, ce qui semble être un bogue de Visual Studio. J'ai donc annulé les modifications et tout est revenu à la normale.
C'est ce qui m'est arrivé lorsque j'ai accidentellement installé des packages de nuget dans une bibliothèque de classes incluse dans la solution. Je viens de désinstaller les packages du projet de bibliothèque de classes.
Vous avez toujours des problèmes? Vérifiez vos espaces de noms et votre code xaml. Parfois, lorsque vous copiez/collez des fichiers, cela peut être le problème.
je reçois la même erreur et je résous généralement ce problème en fermant toutes les autres solutions xamarin ouvertes. Il existe un moyen supplémentaire de résoudre ce problème -> accédez au gestionnaire de tâches et recherchez le service MSBUILD et mettez fin au service -> nettoyez votre solution -> Reconstruisez
Voici le problème: System.IO.PathTooLongException: le chemin spécifié, le nom du fichier ou les deux sont trop longs. Le nom de fichier complet doit comporter moins de 260 caractères et le nom de répertoire moins de 248 caractères.
Essayez de déplacer votre projet vers un autre emplacement tel que "C: /", ou modifiez le nom du projet pour un nom plus bref.
J'ai eu cette erreur aussi. Dans mon cas, il était accompagné de Xamarin.Forms.Maps
qui n’importait pas correctement dans l’un des fichiers xaml.g.cs
. J'ai eu toutes les déclarations d'utilisation correctes. Le IDE ne montrait aucune erreur, mais il me répétait que Xamarin.Forms
n'avait pas de mappage d'espace de noms. Il générait dans MapPage.xaml.g.cs
comme Xamarin.Forms.Map
au lieu de Xamarin.Forms.Maps.Map
et je ne pouvais pas forcer manuellement un correctif. Il s'est toutefois avéré que le xmlns:maps
suggéré pour les cartes était à l'origine du problème. Le IDE m'avait dit d'utiliser "http://xamarin.com/schemas/2014/forms"
, mais l'espace de nom correct est "clr-namespace:Xamarin.Forms.Maps;Assembly=Xamarin.Forms.Maps"
. Après avoir changé cela, il a été capable de construire mon App1.dll
J'ai rencontré le même problème et aucune des solutions ci-dessus n'a fonctionné. Après avoir constaté une erreur sur la liste concernant la cryptographie, je savais que cela devait être lié à l'activation de FIPS (requise par un client VPN).
En désactivant FIPS et en redémarrant Visual Studio, le problème a été résolu.
C'est comme ça que j'ai eu l'erreur. Dans StackLayout, j'ai inséré une propriété Padding et séparé les 4 chiffres par un espace plutôt que par une virgule. Pour trouver le bogue, je devais mettre en commentaire les contrôles XAML individuellement, puis reconstruire pour isoler l'emplacement de l'erreur. En fin de compte, j’ai trouvé la ligne de problème…. Donc, c’est en gros le message d’erreur que j’ai reçu pour une erreur de syntaxe dans mon code XAML!. en secondes. Mais cela m'a pris quelques heures - bien que la prochaine fois, je sache quoi faire.
Réponse courte:
OR
Je faisais face à la même solution que OP. C’est la solution à l’erreur commise par le PO. J'ai abordé l'autre cause d'erreur qui peut survenir pour d'autres personnes ci-dessous.
Explication: Il existe généralement deux types de problèmes différents. La première inclut les fichiers de projet trop longs pour System.IO.reader, ce qui entraîne une erreur incluant du texte dans le sens 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 du projet. VS pourrait utiliser comme exemple "App1\bin\Debug\net452\temp.dll" au lieu de "App1\bin\Debug\net1.6\temp.dll".
Ce genre de problème peut aussi arriver si par erreur vous avez une erreur syntaxique comme dans mon cas: deux cellules de texte étaient présentes dans le ListView -
<ListView x:Name="ProductsView">
<ListView.ItemTemplate>
<DataTemplate>
<TextCell Text="{Binding ProductId}" />
<TextCell Text="{Binding ProductDescription}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
J'ai consulté d'autres publications sur ce problème et constaté que le même problème se produisait en raison de la présence d'erreurs syntaxiques, que VS ne rapporte pas directement. Alors cherchez ceci, sinon, réinstallez la version compatible de xamarin.forms -> solutions propres -> reconstruisez en rouvrant VS.
J'ai fait face à ce problème mille fois, c'est en fait une chose très simple lorsque vous créez un nouveau projet, visual studio le 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 Like D :, E: Quoi que ce soit, assurez-vous de le conserver à la racine de votre lecteur, par exemple, si vous le déplacez dans D: puis placez-le comme ceci: D/Project/solutionFile
C'est probablement un problème avec vos références/assemblages de références?
Si vous examinez le dossier de références de chaque projet dans l'explorateur de solutions, toutes les références que visual studio ne peut pas trouver, supprimez-les et ajoutez-les à nouveau (cliquez avec le bouton droit sur le dossier de références à ajouter).