WPF Type initialisation Exception en C #
J'ai quelqu'un d'autre en fonction de WPF .NET 3.5 application que je suis tenté de mettre à jour .NET 4.5. Le code fonctionnait bien sous .NET 3.5, et je suis en cours d'exécution Visual Studio 2013 Express sur Windows 7. La mise à jour semblait aller bien et que le code compile bien, mais quand j'essaye d'exécuter l'application, j'obtiens l'exception suivante.
An unhandled exception of type 'System.TypeInitializationException' occurred in PresentationFramework.dll
Additional information: The type initializer for 'System.Windows.Application' threw an exception.
Voici les derniers pas dans la stacktrace.
PresentationFramework.dll!System.Windows.Windows.Application()
MiniMon.exe!MiniMon.App.App()
MiniMon.exe!MiniMon.App.Main()
Voici l'application.fichier xaml.
<Application x:Class="MiniMon.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="Window1.xaml">
<Application.Resources>
</Application.Resources>
</Application>
Je peux télécharger un exemple d'application WPF (WPFCalculator) et il fonctionne correctement, j'ai donc essayé de décapage celui que je suis à jour vers le bas pour que ce qui était dans l'exemple d'application. J'ai aussi essayé d'ajouter un point d'arrêt au point d'entrée du code de l'application.xaml.cs, mais l'exception est levée, avant même que le code est exécuté. En dernier recours j'ai essayé de lancer l'application sur Windows 8, mais j'ai reçu le même message d'erreur.
Comment résoudre ce problème?
source d'informationauteur wrightjm
Vous devez vous connecter pour publier un commentaire.
(Pas très pédagogique) solution de contournement serait de commencer une nouvelle 4.5 projet, et de copier-coller les textes pertinents de code à partir de l'ancien.
- Je résoudre ce problème en déplaçant la section démarrage de l'app.config pour la dernière partie avant
</configuration>
section démarrage doit être la dernière partie de l'app.config, comme ceci:<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>
La fin de la partie, mais a constaté cette raison, dans mon cas. J'avais ajouté un
key-value
paire avecappSettings
dansapp.config
comme dansavant
<configSections>
. À creuser dans l'internet, je suis venu pour savoir que,<configSections>
devait être en haut de laroot
peu de temps après<configuration>
et le reste de l'ordres ne sont pas pertinents. Le déplacementappSettings
ci-dessous<configSections>
m'a aidé à résoudre ce problème.Creuser plus profondément dans les Détails de l'Exception jusqu'à la dernière InnerException, et j'ai trouvé ceci:
Déplacer configSections au début
Vérifier l'orthographe des
connectionStrings
,connectionString=""
si utilisé!'S' doit être la capitale ..XML est sensible à la casse 🙂
Vérifier l'application.fichier de configuration assurez-vous que vous n'avez pas les configurations de lib(s) que vous n'utilisez plus ou que vous avez retiré du projet
<connectionStrings>
balise doit venir après<configSections>
et<startup>
section. Cela fait mon code du travail.J'ai remplacé l'amorti de la Configuration de la bibliothèque et également supprimé entity framework, donc je ne peux pas suivre ce qui est mauvais, mais la reconstruction m'a aidé. Solution
Reconstruire votre Application.Fichier de configuration.