Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
MM0xxx : messages d’erreur mmp
Par exemple, les paramètres, l’environnement, les outils manquants.
MM0000 : Erreur inattendue - Veuillez déposer un rapport de bogue à l’adresse https://github.com/xamarin/xamarin-macios/issues/new
Une condition d’erreur inattendue s’est produite. Envoyez un rapport de bogue avec autant d’informations que possible, notamment :
- Journaux de build complets, avec une précision maximale (par exemple,
-v -v -v -v
dans les arguments mmp supplémentaires) ; - Un cas de test minimal qui reproduit l’erreur ; Et
- Toutes les informations de version
Le moyen le plus simple d’obtenir des informations exactes sur la version consiste à utiliser le menu Xamarin Studio, À propos de l’élément Xamarin Studio, le bouton Afficher les détails et copier/coller les informations de version (vous pouvez utiliser le bouton Copier des informations).
MM0001 : Cette version de Xamarin.Mac nécessite Mono {0} (la version Mono actuelle est {1}). Mettez à jour mono.framework à partir de https://mono-project.com/Downloads
MM0003 : Le nom de l’application «{0} .exe » est en conflit avec un nom d’assembly de produit (.dll).
MM0007 : L’assembly racine '{0}' n’existe pas
MM0008 : Vous devez fournir un seul assembly racine, les assemblys trouvés {0} : «{1} »
MM0009 : Erreur lors du chargement des assemblys : *.
Une erreur s’est produite lors du chargement des assemblys à partir des références d’assembly racine. Des informations supplémentaires peuvent être fournies dans la sortie de build.
MM0010 : Impossible d’analyser les arguments de ligne de commande : {0}
MM0016 : L’option '{0}' a été déconseillée.
MM0017 : Vous devez fournir un assembly racine
MM0018 : Argument de ligne de commande inconnu : '{0}'
MM0020 : Les options valides pour «{0} » sont «{1} ».
MM0023 : Le nom de l’application '{0}.exe' est en conflit avec un autre assembly utilisateur.
MM0026 : Impossible d’analyser l’argument de ligne de commande '{0}' : {1}
MM0043 : Le garbage collector Boehm n’est pas pris en charge. Le garbage collector SGen a été sélectionné à la place.
MM0050 : Vous ne pouvez pas fournir d’assembly racine si --no-root-assembly est passé.
MM0051 : Un répertoire de sortie (--output) est requis si --no-root-assembly est passé.
MM0053 : Impossible de désactiver le nouveau refcount avec l’API unifiée.
MM0056 : Impossible de trouver Xcode dans l’un de nos emplacements par défaut. Installez Xcode ou passez un chemin personnalisé à l’aide de --sdkroot=<path>
MM0059 : Impossible de trouver le Xcode actuellement sélectionné sur le système : {0};
MM0060 : Impossible de trouver le Xcode actuellement sélectionné sur le système. « xcode-select --print-path » a retourné «{0} », mais ce répertoire n’existe pas.
MM0068 : Valeur non valide pour l’infrastructure cible : {0}.
MM0071 : Plateforme inconnue : *. Cela indique généralement un bogue dans Xamarin.Mac ; veuillez déposer un rapport de bogue avec un cas de test.
Cela indique généralement un bogue dans Xamarin.Mac ; veuillez déposer un rapport de bogue avec un cas de test.
MM0073 : Xamarin.Mac * ne prend pas en charge une cible de déploiement de * (le minimum est *). Sélectionnez une cible de déploiement plus récente dans info.plist de votre projet.
La cible de déploiement minimale est celle spécifiée dans le message d’erreur ; sélectionnez une cible de déploiement plus récente dans info.plist du projet.
Si la mise à jour de la cible de déploiement n’est pas possible, utilisez une version antérieure de Xamarin.Mac.
MM0074 : Xamarin.Mac * ne prend pas en charge une cible de déploiement de * (la valeur maximale est *). Sélectionnez une cible de déploiement plus ancienne dans info.plist de votre projet ou effectuez une mise à niveau vers une version plus récente de Xamarin.Mac.
Xamarin.Mac ne prend pas en charge la définition de la cible de déploiement minimale sur une version supérieure à la version pour laquelle cette version particulière de Xamarin.Mac a été créée.
Sélectionnez une cible de déploiement minimale plus ancienne dans info.plist du projet ou effectuez une mise à niveau vers une version plus récente de Xamarin.Mac.
MM0079 : Erreur interne : aucun exécutable n’a été copié dans le bundle d’applications. Veuillez contacter 'support@xamarin.com'
MM0080 : La désactivation de NewRefCount, --new-refcount :false, est déconseillée.
MM0091 : Cette version de Xamarin.Mac nécessite le *SDK (fourni avec Xcode *). Mettez à niveau Xcode pour obtenir les fichiers d’en-tête requis ou utilisez le comportement dynamique registrar ou définissez le comportement de l’éditeur de liens sur les kits SDK Link Platform ou Link Framework uniquement (pour essayer d’éviter les nouvelles API).
Xamarin.Mac nécessite les fichiers d’en-tête, à partir de la version du Kit de développement logiciel (SDK) spécifiée dans le message d’erreur, pour générer votre application avec le fichier statique registrar. La méthode recommandée pour corriger cette erreur consiste à mettre à niveau Xcode pour obtenir le Kit de développement logiciel (SDK) requis, ce qui inclut tous les fichiers d’en-tête requis. Si plusieurs versions de Xcode sont installées ou que vous souhaitez utiliser un Xcode dans un emplacement non par défaut, veillez à définir l’emplacement Xcode approprié dans les préférences de votre IDE.
Une solution alternative potentielle consiste à activer l’éditeur de liens managés. Cela supprime l’API inutilisée, y compris, dans la plupart des cas, la nouvelle API dans laquelle les fichiers d’en-tête sont manquants (ou incomplets). Toutefois, cela ne fonctionnera pas si votre projet utilise l’API introduite dans un sdk plus récent que celui fourni par votre Xcode.
Une deuxième solution alternative potentielle consiste à utiliser la solution dynamique registrar à la place. Cela impose un coût de démarrage en inscrivant dynamiquement des types, mais supprime l’exigence du fichier d’en-tête.
Une solution de dernière paille consisterait à utiliser une version antérieure de Xamarin.Mac, qui prend en charge le Kit de développement logiciel (SDK) dont votre projet a besoin.
MM0097 : le fichier machine.config '{0}' est introuvable.
MM0098 : La compilation AOT est disponible uniquement sur Unified
MM0099 : Erreur {0}interne . Veuillez déposer un rapport de bogue avec un cas de test.
MM0114 : La compilation AOT hybride nécessite que tous les assemblys soient compilés par AOT.
MM0129 : Le fichier de symboles de débogage pour '*' ne correspond pas à l’assembly et est ignoré.
Les symboles de débogage ( un fichier .pdb portable uniquement) ou un fichier .mdb – pour l’assembly spécifié n’ont pas pu être chargés.
Cela signifie généralement que l’assembly est plus récent ou plus ancien que les symboles. Étant donné qu’ils ne correspondent pas, ils ne peuvent pas être utilisés et les symboles sont ignorés.
Cet avertissement n’affecte pas la génération de l’application, mais vous ne pourrez peut-être pas le déboguer entièrement (en particulier le code de l’assembly spécifié). En outre, les traces de pile et les rapports d’incident peuvent manquer certaines informations.
Signalez ce problème à l’éditeur du package d’assembly (par exemple, l’auteur NuGet) afin que cela puisse être résolu dans leurs futures versions.
MM0130 : Aucun assembly racine trouvé. Vous devez fournir au moins un assembly racine.
Lors de l’exécution --runregistrar
, au moins un assembly racine doit être fourni.
MM0131 : Assembly de produit '{0}' introuvable dans la liste d’assemblys : '{1}'
Lors de l’exécution --runregistrar
, la liste des assemblys doit inclure l’assembly de produit, Xamarin.Mac, XamMac.
MM0132 : Optimisation inconnue : *. Les valeurs valides sont : *
L’optimisation spécifiée n’a pas été reconnue.
Le format accepté est [+|-]optimization-name
, où optimization-name
est l’une des valeurs répertoriées dans le message d’erreur.
Consultez les optimisations de build pour obtenir une description complète de chaque optimisation.
MM0133 : Plus de 1 assembly correspondant à «{0} » choisissant d’abord : «{1} »
MM0134 : les applications 32 bits doivent être migrées vers 64 bits.
Apple a annoncé qu’il n’autorisera pas les soumissions macOS App Store d’applications 32 bits (à compter de janvier 2018).
En outre, les applications 32 bits ne s’exécutent pas sur la version de macOS après High Sierra « sans compromis ».
Pour plus d’informations : https://developer.apple.com/news/?id=06282017a
Envisagez de mettre à jour votre application et toutes les dépendances sur 64 bits.
MM0135 : N’a pas lié l’infrastructure système '{0}' (référencée par l’assembly '{1}'), car elle a été introduite dans {2}{3}, et nous utilisons le {2}{4} Kit de développement logiciel (SDK).
Pour générer votre application, Xamarin.Mac doit établir un lien avec les bibliothèques système, dont certaines dépendent de la version du SDK spécifiée dans le message d’erreur. Étant donné que vous utilisez une version antérieure du Kit de développement logiciel (SDK), les appels à ces API peuvent échouer au moment de l’exécution.
La méthode recommandée pour corriger cette erreur consiste à mettre à niveau Xcode pour obtenir le Kit de développement logiciel (SDK) nécessaire. Si plusieurs versions de Xcode sont installées ou que vous souhaitez utiliser un Xcode dans un emplacement non par défaut, veillez à définir l’emplacement Xcode approprié dans les préférences de votre IDE.
Vous pouvez également activer l’éditeur de liens managés pour supprimer les API inutilisées, notamment (dans la plupart des cas) les nouvelles qui nécessitent la bibliothèque spécifiée. Toutefois, cela ne fonctionnera pas si votre projet nécessite des API introduites dans un sdk plus récent que celui fourni par votre Xcode.
En tant que solution de dernière paille, utilisez une version antérieure de Xamarin.Mac qui ne nécessite pas que ces nouveaux kits SDK soient présents pendant le processus de génération.
MM1xxx : copie de fichiers / symlinks (associé au projet)
MM1034 : Impossible de créer un lien symbolique « {file} » -> « {target} » : erreur {number}
MM14xx : Assemblys de produit
MM1401 : l’assembly «{0} » requis est manquant dans les références
MM1402 : L’assembly '{0}' n’est pas compatible avec cet outil
MM1403 : {0} '{1}' est introuvable. L’infrastructure cible '{0}' n’est pas utilisable pour empaqueter l’application.
MM1404 : Le framework cible '{0}' n’est pas valide.
MM1405 : useFullXamMacFramework doit toujours cibler le framework .NET 4.5, et non «{0} » qui n’est pas valide
MM1406 : Le framework cible «{0} » n’est pas valide lors du ciblage de Xamarin.Mac 4.5 .NET framwork.
MM1407 : Incompatibilité entre la référence Xamarin.Mac «{0} » et l’infrastructure cible sélectionnée «{1} ».
MM15xx : Erreurs de collecte d’assemblys (ne nécessitant pas d’éditeur de liens)
MM1501 : Impossible de résoudre la référence : {0}
MachO.cs
MM1600 : Pas une bibliothèque dynamique Mach-O (en-tête inconnu '0x{0}') : {1}.
MM1601 : Pas une bibliothèque statique (en-tête inconnu '{0}') : {1}.
MM1602 : Pas une bibliothèque dynamique Mach-O (en-tête inconnu '0x{0}') : {1}.
MM1603 : Format inconnu pour l’entrée en gras à la position {0} en {1}.
MM1604 : Fichier de type {0} n’est pas un fichier MachO ({1}).
MM2xxx : Éditeur de liens
MM20xx : Erreurs linker (général)
MM2001 : Impossible de lier des assemblys
MM2002 : Impossible de résoudre la référence : {0}
MM2003 : L’option '{0}' est ignorée, car la liaison est désactivée
MM2004 : Le fichier de définitions d’éditeur de liens supplémentaire '' n’a{0} pas pu se trouver.
MM2005 : Les définitions de '{0}' n’ont pas pu être analysées.
MM2006 : La bibliothèque native «{0} » a été référencée, mais elle n’a pas pu être trouvée.
MM2007 : l’API unifiée Xamarin.Mac sur un profil .NET complet ne prend pas en charge la liaison. Passez l’indicateur -nolink.
MM2009 : référencé par {0}.{1} ** Ce message est lié à MM2006 **
MM2010 : HttpMessageHandler {0}
inconnu . Les valeurs valides sont HttpClientHandler (par défaut), CFNetworkHandler ou NSUrlSessionHandler
MM2011 : TLSProvider inconnu '{0}. Les valeurs valides sont des valeurs par défaut ou des applets
MM2012 : Seuls les {0}{1} avertissements « Référencés par » sont affichés. ** Ce message lié à 2009 **
MM2013 : Échec de la résolution de la référence à « »,{0} référencée dans «{1} ». L’application n’inclut pas l’assembly référencé et peut échouer au moment de l’exécution.
MM2014 : Les extensions Xamarin.Mac ne prennent pas en charge la liaison. La demande de liaison est ignorée. ** Ce message est obsolète dans XM 3.6+ **
MM2016 : Option TlsProvider {0}
non valide. La seule valeur {1}
valide sera utilisée.
MM2017 : Impossible de traiter la description XML : {0}
MM202x : Échec du traitement ...
de l’optimiseur de liaison .
MM2100 : l’API classique Xamarin.Mac ne prend pas en charge la liaison de plateforme.
MM2103 : Assembly de traitement des erreurs '*' : *
Une erreur inattendue s’est produite lors du traitement d’un assembly.
L’assembly à l’origine du problème est nommé dans le message d’erreur. Pour résoudre ce problème, l’assembly doit être fourni dans un rapport de bogues, ainsi qu’un journal de génération complet avec la précision activée (c’est-à-dire -v -v -v -v
dans les arguments mtouch supplémentaires).
MM2104 : Impossible de lier l’assembly '{0}' car il est en mode mixte.
Les assemblys en mode mixte ne peuvent pas être traités par l’éditeur de liens.
Pour plus d’informations sur les assemblys en mode mixte, consultez /cpp/dotnet/mixed-native-and-managed-assemblys.
MM2106 : Impossible d’optimiser l’appel à BlockLiteral.SetupBlock[Unsafe] in * at offset * car *.
L’éditeur de liens signale cet avertissement lorsqu’il ne peut pas optimiser un appel à BlockLiteral.SetupBlock
ou Block.SetupBlockUnsafe
.
Le message pointe vers la méthode qui appelle BlockLiteral.SetupBlock[Unsafe]
et peut également donner des indices sur la raison pour laquelle l’appel n’a pas pu être optimisé.
Envoyez un problème avec un journal de build complet afin que nous puissions examiner ce qui s’est passé et éventuellement activer davantage de scénarios à l’avenir.
MM2107 : Il n’est pas sûr de supprimer la dynamique registrar , car {reasons}
L’éditeur de liens signale cet avertissement lorsque le développeur demande la suppression dynamique registrar (en passant --optimize:remove-dynamic-registrar
à mmp), mais l’éditeur de liens détermine qu’il n’est pas sûr de le faire.
Pour supprimer l’avertissement, supprimez l’argument d’optimisation de mmp ou passez-le --nowarn:2107
pour l’ignorer.
Par défaut, cette option est automatiquement activée chaque fois qu’il est possible et sûr de le faire.
MM2108 : «{0} » a été supprimé des architectures à l’exception de «{1} » pour se conformer aux restrictions de l’App Store. Cela peut interrompre l’exisiation des signatures d’signature de code. Envisagez de supprimer la bibliothèque avec lipo ou de désactiver avec --optimize=-trim-architectures ») ;
L’App Store rejette désormais les applications qui contiennent des bibliothèques et des frameworks qui contiennent des variantes 32 bits. La bibliothèque a été supprimée des architectures inutilisées lors de la copie dans le bundle d’applications final.
Cela est en général sûr et réduit la taille d’offre groupée d’applications en tant qu’avantage supplémentaire. Toutefois, toute infrastructure groupée signée par le code aura sa signature invalidée (et résignée ultérieurement si l’application est signée).
Envisagez d’utiliser lipo
pour supprimer définitivement les architectures inutiles de la bibliothèque source. Si l’application n’est pas publiée dans l’App Store, cette suppression peut être désactivée en passant --optimize=-trim-architectures
en tant qu’arguments MMP supplémentaires.
MM2109 : l’API classique Xamarin.Mac ne prend pas en charge la liaison de plateforme.
MM3xxx : AOT
MM30xx : Erreurs AOT (générales)
MM3001 : Impossible d’AOT l’assembly '{0}'
MM3009 : AOT de '{0}' a été demandé mais introuvable
MM3010 : L’exclusion de l’AOT de '{0}' a été demandée, mais n’a pas été trouvée
MM4xxx : génération de code
MM40xx : driver.m
MM4001 : Le modèle principal n’a pas pu être développé sur {0}
.
MM41xx : registrar
MM4134 : Votre application utilise l’infrastructure «{0} », qui n’est pas incluse dans le Kit de développement logiciel (SDK) MacOS que vous utilisez pour générer votre application (cette infrastructure a été introduite dans OSX {2}, tandis que vous créez avec le Kit de développement logiciel (SDK) MacOS {1} .) Cette configuration n’est pas prise en charge avec le statique registrar (pass --registrar:d ynamic en tant qu’argument mmp supplémentaire dans l’option De build Mac de votre projet à sélectionner). Vous pouvez également sélectionner un sdk plus récent dans les options de build Mac de votre application.
MM4173 : Impossible registrar de calculer la signature de bloc pour le délégué de type {delegate-type} dans la méthode {method} car *.
Il s’agit d’un avertissement indiquant que la registrar signature de bloc de la méthode spécifiée n’a pas pu être injectée dans le code généré registrar , car elle n’a pas pu la registrar calculer.
Cela signifie que la signature de bloc doit être calculée au moment de l’exécution, ce qui est un peu plus lent.
Il existe actuellement deux raisons possibles pour cet avertissement :
- Le type du délégué managé est a
System.Delegate
ouSystem.MulticastDelegate
. Ces types ne représentent pas de signature spécifique, ce qui signifie que la registrar signature native correspondante ne peut pas être calculée non plus. Dans ce cas, le correctif consiste à utiliser un type délégué spécifique pour le bloc (sinon, l’avertissement peut être ignoré en ajoutant--nowarn:4173
en tant qu’argument mmp supplémentaire dans les options de build Mac du projet). - Impossible registrar de trouver la
Invoke
méthode du délégué. Cela ne doit pas se produire. Veuillez donc déposer un problème avec un projet de test afin que nous puissions le résoudre.
MT4174 : Impossible de localiser le bloc pour déléguer la méthode de conversion de la méthode {method}'s parameter #{parameter}.
Il s’agit d’un avertissement indiquant que la méthode statique registrar n’a pas pu trouver la méthode pour créer un délégué pour un Objective-C bloc. Une tentative sera effectuée au moment de l’exécution pour rechercher la méthode, mais elle échouera probablement également (avec une exception MT8009).
L’une des raisons possibles de cet avertissement consiste à écrire manuellement des liaisons pour une API qui utilise des blocs. Il est recommandé d’utiliser un projet de liaison pour lier Objective-C du code, en particulier lorsqu’il implique des blocs, car il est assez compliqué de l’obtenir correctement lors de son exécution manuelle.
Si ce n’est pas le cas, envoyez un problème avec un cas de test.
MM5xxx : GCC et chaîne d’outils
MM51xx : compilation
MM5101 : compilateur «{0} manquant ». Installez le composant Xcode « Command-Line Tools ».
MM5103 : Échec de la compilation. Code d’erreur - {0}. Veuillez déposer un rapport de bogue avec un cas de test.
MM52xx : liaison
MM5202 : Mono.framework MDK est manquant. Installez mdK pour votre version de Mono.framework à partir de https://mono-project.com/Downloads
MM5203 : Impossible de trouver libxammac.a, probablement en raison d’une installation endommagée de Xamarin.Mac. Réinstallez Xamarin.Mac.
MM5204 : Architecture non valide. x86_64 est uniquement pris en charge sur les profils non classiques.
MM5205 : Architecture non valide «{0} ». Les architectures valides sont i386 et x86_64 (quand --profile=mobile).
MM5218 : Impossible d’ignorer le symbole dynamique {symbol} (--ignore-dynamic-symbol={symbol}), car il n’a pas été détecté comme symbole dynamique.
Consultez l’avertissement mtouch équivalent.
MM53xx : autres outils
MM5301 : pkg-config introuvable. Installez Mono.framework à partir de https://mono-project.com/Downloads
MM5305 : Outil « otool » manquant. Installez le composant Xcode « Outils en ligne de commande »
MM5306 : Dépendances manquantes. Installez le composant Xcode « Outils en ligne de commande »
MM5308 : Le contrat de licence Xcode n’a peut-être pas été accepté. Veuillez lancer Xcode.
MM5309 : Échec de la liaison native avec le code d’erreur 1. Pour plus d’informations, consultez le journal de build.
MM5310 : install_name_tool a échoué avec un code d’erreur «{0} ». Pour plus d’informations, consultez le journal de build.
MM5311 : lipo a échoué avec un code d’erreur «{0} ». Pour plus d’informations, consultez le journal de build.
MM8xxx : runtime
MM800x : misc
MM8017 : Le garbage collector Boehm n’est pas pris en charge. Utilisez plutôt SGen.
MM8025 : Impossible de calculer la référence de jeton pour le type « {type ». AssemblyQualifiedName}' car {reasons}
Cela indique un bogue dans Xamarin.Mac. Veuillez déposer un rapport de bogue avec un cas de test.
Une solution de contournement potentielle consiste à désactiver l’optimisation register-protocols
, en passant --optimize:-register-protocols
en tant qu’argument mmp supplémentaire dans les options de build Mac du projet.
MM8026 : * n’est pas pris en charge lorsque la dynamique registrar a été liée.
Cela indique généralement un bogue dans Xamarin.Mac, car la dynamique registrar ne doit pas être liée si nécessaire. Veuillez déposer un rapport de bogue avec un cas de test.
Il est possible de forcer l’éditeur de liens à conserver la dynamique registrar en ajoutant --optimize=-remove-dynamic-registrar
aux arguments mmp supplémentaires dans les options de build Mac du projet.