Étant donné que cela semble être le fil conducteur pour le problème concernant «InitializeComponent» manquant, je vais inclure ma réponse ici.
Moi aussi, je rencontrais ce problème et j'ai essayé tout ce que j'ai trouvé ici et dans tous les autres forums que Google pouvait trouver, mais aucun n'a résolu le problème pour moi. Après deux heures de tout essayer, j'ai finalement compris ce qui n'allait pas avec ma configuration.
Dans notre projet, nous utilisons des composants Metro de MahApps . La vue qui me posait problème était une vue héritée de MetroWindow, comme ceci:
<Controls:MetroWindow x:Class="ProjectNamespace.MyView"
xmlns:Controls="http://metro.mahapps.com/winfx/xaml/controls"
... >
Maintenant, j'ai défini mes ressources statiques comme
<Controls:MetroWindow.Resources>
<prop:Resources x:Key="LocalizedStrings"/>
...
</Controls:MetroWindow.Resources>
C'est ainsi que j'ai défini les ressources dans UserControl
s dans toutes mes autres vues, c'est donc ce que je supposais fonctionner.
Ce n'était cependant pas le cas avec Controls:MetroWindow
! Là, j'avais absolument besoin de la définition des ressources comme suit:
<Controls:MetroWindow.Resources>
<ResourceDictionary>
<prop:Resources x:Key="LocalizedStrings"/>
...
</ResourceDictionary>
</Controls:MetroWindow.Resources>
Donc, mon problème, en résumé, était une <ResourceDictionary>
balise manquante . Je ne sais vraiment pas pourquoi cela a produit l'erreur «InitializeComponent» et il ne l'a étrangement même pas produite sur toutes mes machines, mais c'est comme ça que je l'ai corrigée. J'espère que cela vous aidera (les 0,001% restants de personnes rencontrant ce problème).