2009-05-14 8 views
6

J'ai un problème récurrent avec les applications .NET qui ne démarrent pas (sur d'autres systèmes que le mien). Le fait est que je ne peux malheureusement pas toujours créer un paquet en douceur. Par conséquent, je dois souvent envoyer un fichier ZIP de mon dossier Debug ou Release.Dépannage avec une application .NET qui ne démarre pas

Mon vrai problème est que ces applications ne disent pas POURQUOI elles ne démarrent pas. Je ne reçois aucune exception si je les lance depuis la ligne de commande, ni dans le EventLog, ni même si j'essaie d'imprimer sur la sortie le résultat d'un bloc Try Catch sur toutes mes applications ... ai-je raté quelque chose?

La plupart du temps, il manque des bibliothèques ou des problèmes de sécurité. Mais il serait bon de trouver ce qui se passe exactement sans douleur: D

Répondre

3

Avez-vous essayé de regarder les bûches de fusion? Suzanne Cook a un article sur ce here.

Autre chose à faire (pour minimiser les erreurs silencieuses): minimiser la méthode Main; la raison est que JIT fonctionne par méthode, et si elle ne peut pas JIT Main il ne peut pas utiliser votre gestion des exceptions:

/* for winform, you still new [STAThread] here */ 
static void Main() { 
    try { 
    MainCore(); 
    } catch (Exception ex) { 
    // shout about it 
    } 
} 

[MethodImpl(MethodImplOptions.NoInlining)] // usually overkill 
static void MainCore() { 
    // real code 
} 
0

Je sais que cela ne résout pas le problème directement - mais avez-vous essayé de publier votre application (en supposant que vous utilisiez Visual Studio bien sûr)? Ce devrait tout ce dont vous avez besoin dans l'installateur.

1

J'ai rencontré un problème de démarrage des applications WPF - il s'avère que le problème était lié aux polices sur le PC de l'utilisateur - la désactivation du service WindowsPresentationFontCache a résolu le problème.

J'ai aussi trouvé un poste ailleurs avec les informations suivantes ...

... pour une raison inconnue, le client avait mal entrées dans les clés de Registre qui sont utilisées pour construire cette « famille de polices par défaut "Cache cité dans la trace de la pile. Le client a été invité à exporter les entrées sous HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Fonts et m'envoyer le fichier. Il y avait plusieurs noms de fichiers de polices commençant étrangement avec des tirets (---). Ceux-ci ont été corrigés et un fichier de registre a été renvoyé au client pour importation. Après cela, l'application a démarré avec succès!

Il peut aussi y avoir la nécessité de supprimer le cache de votre police, conformément aux instructions de ce lien http://support.microsoft.com/kb/937135

Questions connexes