Résolution des problèmes généraux liés à .NET Native.NET Native General Troubleshooting

Cette rubrique décrit comment résoudre les problèmes potentiels que vous pouvez rencontrer lors du développement d’applications avec .NET Native.This topic describes how to troubleshoot potential issues that you might encounter when developing apps with .NET Native.

  • Problème : La fenêtre de sortie de génération n’est pas correctement mis à jour.Issue: Your build output window isn't properly updated.

    Résolution : La fenêtre de sortie de build n’est pas mis à jour jusqu'à ce que la génération terminée.Resolution: The build output window isn't updated until the build completes. La génération pouvant prendre plusieurs minutes, les mises à jour peuvent mettre du temps à apparaître.Build times may be up to several minutes, so you might experience a delay in seeing the updates.

  • Problème : Temps de génération de vente au détail de votre application pour ARM a augmenté.Issue: Your app’s retail build time for ARM has increased.

    Résolution : Lorsque vous déployez une application sur votre appareil ARM, l’infrastructure .NET Native est appelé.Resolution: When you deploy an app to your ARM device, the .NET Native infrastructure is invoked. 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.This compilation performs a large number of optimizations while ensuring that non-static semantics such as reflection continue to work. En outre, la partie du .NET Framework que l'application utilise est liée de manière statique pour optimiser les performances et doit être compilée en code natif également.In addition, the portion of the .NET Framework that the app uses is statically linked in for optimal performance and has to be compiled into native code as well. C'est pourquoi la compilation prend plus de temps.This is why compilation takes longer.

    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.However, compilation times are still within a minute of standard compilation for most apps on a standard development machine. En règle générale, la seule génération d'images natives pour le .NET Framework sur un ordinateur de développement standard prend plusieurs minutes.Typically, just generating native images for the .NET Framework on a standard development machine takes several minutes. Même avec le .NET Framework et toutes les optimisations visant à améliorer le code généré, la génération des applications dure généralement une ou deux minutes.Even with all the optimizations to improve the generated code and with including the .NET Framework, app build times are typically a minute or two.

    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.We are continuing to work on improving compilation performance by investigating multi-threaded compilation and other optimizations.

  • Problème : Vous ne savez pas si votre application a été compilée à l’aide de .NET Native.Issue: You don’t know if your app was compiled using .NET Native.

    Résolution : Si le compilateur .NET Native est appelé, vous remarquerez que les durées de génération plus de temps et le Gestionnaire des tâches affiche divers processus de composant .NET Native, comme ILC.exe et nutc_driver.exe.Resolution: If the .NET Native compiler is invoked, you'll notice longer build times, and Task Manager will show various .NET Native component processes such as ILC.exe and 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.After you successfully build your project with .NET Native, you'll find the output under obj\config\ arch\projectname.ilc\out. The final native package contents can be found under bin\arch\config\AppX. Il se trouve sous \bin\arch\config\AppX si vous avez déployé l’application.The final native package contents are under \bin\arch\config\AppX if you have deployed the app.

  • Problème : Votre application .NET natif lève des exceptions runtime (généralement MissingMetadataException ou MissingRuntimeArtifactException exceptions) qu’il n’a pas levé lorsque compilé sans. NET Native.Issue: Your .NET Native-compiled app is throwing runtime exceptions (typically MissingMetadataException or MissingRuntimeArtifactException exceptions) that it did not throw when compiled without .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.Resolution: The exceptions are thrown because .NET Native did not provide either the metadata or the implementation code that is otherwise available through reflection. (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 natif puisse rendre les métadonnées ou le code d’implémentation disponibles lors de l’exécution.(For more information, see .NET Native and Compilation.) To eliminate the exception, you have to add an entry to your runtime directives (rd.xml) file so that the .NET Native tool chain can make the metadata or implementation code available at runtime. 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 :Two troubleshooters are available that will generate the necessary entry to add to your runtime directives file:

    Pour plus d’informations, consultez Réflexion et .NET Native.For more information, see Reflection and .NET Native.

Voir aussiSee also