在VS 2008中是否有一种方法可以指定我要在生成的xap中包括所有/某些dll的pdb文件?
背景
我们已经编写了一个Silverlight框架,该框架可用于具有某些基本UI控件和功能的多个项目。这些框架dll和pdbs通过svn:externals导入到lib文件夹中。 Silverlight应用程序引用了项目的lib文件夹中的dll,并将“本地复制”设置为True。编译时,dll包含在xap中,而pdb不包含在xap中。如果我不满足框架dll的先决条件(即未设置控件的ItemSource),则会引发错误。在VS 2008的“异常”对话框中,我同时检查了“抛出”和“用户未处理的” CLR异常。在附加VS 2008的情况下,我没有收到任何错误报告。由于标准的生成的Application_UnhandledException处理程序不会在未附加调试器的情况下警告未处理的错误,并且由于某种原因VS不会在该错误上中断。如果我在xap中手动包含pdb,则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
最佳答案
您应该将PDB文件放在XAP旁边。如果愿意,可以使用构建后操作来执行此操作。
确保您的Web服务器可以服务PDB,它们已在某些默认配置中被锁定。只需通过浏览器请求PDB,然后查看是否可以下载。如果不是,请为您的x-application / octet-stream添加MIME类型。
关于silverlight - 如何在Silverlight XAP中包含PDB文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3392034/