.NET Native résolution générale des problèmes

Cet article explique comment résoudre les problèmes potentiels que vous pouvez rencontrer lors du développement d’applications avec .NET Native.

Problèmes

  • Problème : La fenêtre de sortie de la génération n’est pas mise à jour correctement.

    Résolution : La fenêtre de sortie de la génération n’est mise à jour qu’une fois la génération terminée. La génération pouvant prendre plusieurs minutes, les mises à jour peuvent mettre du temps à apparaître.

  • Question: Le temps de création commerciale de votre application pour Arm a augmenté.

    Résolution: Lorsque vous déployez une application sur votre appareil Arm, l’infrastructure .NET Native est appelée. Cette compilation effectue un grand nombre d'optimisations tout en garantissant que la sémantique non statique telle que la réflexion continue de fonctionner. En outre, la partie du .NET Framework utilisée par l’application est liée de façon statique pour des performances optimales et doit également être compilée dans du code natif. C'est pourquoi la compilation prend plus de temps.

    Toutefois, les temps de compilation ne dépassent pas de plus d'une minute la compilation standard de la plupart des applications sur un ordinateur de développement ordinaire. En règle générale, la génération d’images natives pour .NET Framework sur un ordinateur de développement standard prend plusieurs minutes. Même avec toutes les optimisations pour améliorer le code généré et avec l’inclusion de .NET Framework, les temps de génération de l’application sont généralement d’une minute ou deux.

    Nous allons continuer à travailler sur l'amélioration des performances de la compilation en nous penchant sur la compilation multithread et sur d'autres optimisations.

  • Question: Vous ne savez pas si votre application a été compilée à l’aide de .NET Native.

    Résolution: Si le compilateur .NET Native est appelé, vous remarquerez des temps de génération plus longs, et le Gestionnaire des tâches affiche différents processus de composant .NET Native tels que ILC.exe et nutc_driver.exe.

    Une fois que vous avez correctement généré votre projet avec .NET Native, vous trouverez la sortie sous obj\config\ arch\nom_projet.ilc\out. Le contenu du package natif final se trouve sous bin\arch\config\AppX. Le contenu du package natif final se trouve sous \bin\arch\config\AppX si vous avez déployé l’application.

  • Problème : Votre application .NET Native lève des exceptions runtime (généralement des exceptions MissingMetadataException ou MissingRuntimeArtifactException) qu’elle n’a pas levées lors de la compilation sans .NET Native.

    Résolution : Les exceptions sont levées, car .NET Native n’a pas fourni les métadonnées ou le code d’implémentation qui est normalement disponible via la réflexion. (Pour plus d’informations, consultez .NET Native et Compilation.) Pour éliminer l’exception, vous devez ajouter une entrée à votre fichier de directives d’exécution (rd.xml) afin que la chaîne d’outils .NET Native puisse rendre les métadonnées ou le code d’implémentation disponibles au moment de l’exécution. Deux utilitaires de résolution des problèmes sont disponibles, qui vont générer l'entrée nécessaire pour effectuer des ajouts à votre fichier de directives d'exécution :

    Pour plus d’informations, consultez Réflexion et .NET Native.

Voir aussi