27 votes

Silverlight 4 / .NET 4 Débogage chaînes de ressource

J'ai récemment rencontré une chose étrange. Sur certains de mes serveurs lorsqu'un message d'exception est imprimé (oui, mauvais, je sais. C'est pour le débogage), le message n'est pas affiché. Au lieu de cela, il affiche la clé externe de ressource de chaîne et dit que "le Débogage des chaînes de ressource sont pas disponible"

Après quelques recherches, je suis venu avec les éléments suivants: En mode release, Silverlight ne pas emballer le xap avec la dll contenant les véritables messages d'erreur afin d'économiser de l'espace.

J'ai trouvé des solutions de contournement pour les ANCIENNES versions, mais rien pour les 4. Il semble que il ya Développeur versions de la SL 2 et 3 d'exécution qui permettra de résoudre les erreurs automatiquement, mais je ne peux pas en trouver un pour SL 4.

Donc ma question est:est-ce

Ce que le diable dois-je faire à mon SL 4 app / ordinateur de me laisser voir le complet, détaillé, des erreurs lorsqu'il est en mode release?

5voto

carlosfigueira Points 40778

Vous pouvez télécharger le développeur d'exécution (qui contient la totalité de l'exception de chaînes de caractères) de la GetStarted page - http://www.silverlight.net/getstarted/ - de la recherche pour "Développeur de logiciels d'Exécution pour Windows et OSX", elle est en bas de la page.

1voto

DiligentKarma Points 1233

Bien qu'il soit trop tard pour répondre, il peut aider quelqu'un d'autre. Nous avons une application web à l'aide de Silverlight 4, installés dans les différents environnements de test. Cette application web consomme plus d'un des services WCF. Tous, sauf un, de l'environnement de test sites de la constante a échoué avec le message "le Débogage des chaînes de Ressource sont pas disponibles". Agréablement la vraie exception a été avalé. Étant une application Silverlight, il n'y a pas de connexion, et il semblait toujours qu'il y avait quelque chose à défaut dans le composant Silverlight. J'ai connecté l'application dans mon environnement de développement pour le test particulier l'environnement, et a constaté que le problème était en fait dans l'un des services WCF. J'ai résolu le problème à la fin des services et de la SL composant cessé d'avoir ce problème.

Pourquoi la WCF défaut?

Le service WCF a le code suivant dans le constructeur:

public MyService()
    {
        //Create an instance of Data Lookup service asycnchronously.
        if (_dataLookupSrvc == null)
        {
            try
            {
                System.Threading.Tasks.Task.Factory.StartNew(() => _dataLookupSrvc = new LookupDataService.LookupDataService());
            }
            catch (Exception ex)
            {
                _log.Error<Exception>(ex);
            }
        }
    }

Quelqu'un a déplacé le sous-jacent LookupDataService.dll à partir du service dossier d'origine du constructeur à l'échec, mais pas tout de suite. Comme le LookupDataService instance a été créée dans la méthode anonyme, l'enregistrement d'exception dans cette méthode n'a jamais eu lieu. Une fois l'LookupDataService.dll a été abandonné dans le service du dossier, le "Débogage chaînes de Ressource sont indisponibles" le message a disparu.

C'était un plaisir de l'oie sauvage chasse!

-2voto

Rick james Points 69

Avez-vous déjà vérifié l'observateur d'événements sur l'ordinateur où l'application s'est écrasé? Démarrer->Exécuter. eventvwr

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X