Как включить файлы PDB в Silverlight XAP? - PullRequest
3 голосов
/ 03 августа 2010

Есть ли способ в VS 2008 указать, что я хочу включить файлы pdb для всех / некоторых dll в сгенерированном xap?

Фон

Мы написали платформу Silverlight, которая используется несколькими проектами с некоторыми базовыми элементами управления и функциональностью пользовательского интерфейса. Эти dll и pdbs фреймворка переносятся в проекты через svn: externals в папку lib. Приложения Silverlight ссылаются на dll-файлы из папки lib проекта с параметром Copy Local, установленным в True. При компиляции dll включается в xap, а pdb - нет. Если у меня есть предварительное условие (т. Е. ItemSource элемента управления не установлен) для dll фреймворка не выполняется, выдается ошибка. В диалоговом окне «Исключения» в VS 2008 проверены как «выброшенные», так и «необработанные» исключения CLR. При подключенном VS 2008 я не получаю сообщений об ошибках. Так как стандартный сгенерированный обработчик Application_UnhandledException не предупреждает необработанные ошибки, если отладчик подключен и по какой-то причине VS не прерывает ошибку. Если я вручную добавлю pdbs в xap, VS остановится на правильной строке, показывая мне ошибку.

    Private Sub Application_UnhandledException(ByVal sender As Object, ByVal e As ApplicationUnhandledExceptionEventArgs) Handles Me.UnhandledException

        ' If the app is running outside of the debugger then report the exception using
        ' the browser's exception mechanism. On IE this will display it a yellow alert 
        ' icon in the status bar and Firefox will display a script error.
        If Not System.Diagnostics.Debugger.IsAttached Then

            ' NOTE: This will allow the application to continue running after an exception has been thrown
            ' but not handled. 
            ' For production applications this error handling should be replaced with something that will 
            ' report the error to the website and stop the application.
            e.Handled = True
            Deployment.Current.Dispatcher.BeginInvoke(New Action(Of ApplicationUnhandledExceptionEventArgs)(AddressOf ReportErrorToDOM), e)
        End If
    End Sub

1 Ответ

1 голос
/ 03 августа 2010

Вы должны просто поместить файлы PDB рядом с XAP.Вы можете сделать это с помощью действия после сборки, если хотите.

Убедитесь, что ваш веб-сервер может обслуживать PDB, они заблокированы в некоторых конфигурациях по умолчанию.Просто запросите PDB через ваш браузер и посмотрите, будет ли он загружен.Если нет, добавьте MIME-тип на ваш сервер для x-application / octet-stream.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...