C# 如何在VS2010中调试已发布的XBAP文件?

C# 如何在VS2010中调试已发布的XBAP文件?,c#,debugging,xbap,C#,Debugging,Xbap,我需要调试一个完全信任的应用程序,或者指定一个URL,或者理想情况下,从我打算部署它的web应用程序中调试。我尝试了以下方法: 从命令行运行“PresentationHost.exe-嵌入”,通过Visual Studio进行附加。IDE显示我的断点是有效的,直到我实际尝试加载.xbap文件,此时它显示没有加载任何符号。我的断点都没有命中。根据其他地方的一些建议,在做这件事之前,我已经尝试过“mage-cc” 项目调试面板中的硬编码URL,然后是F5。或者,“PresentationHost

我需要调试一个完全信任的应用程序,或者指定一个URL,或者理想情况下,从我打算部署它的web应用程序中调试。我尝试了以下方法:

  • 从命令行运行“PresentationHost.exe-嵌入”,通过Visual Studio进行附加。IDE显示我的断点是有效的,直到我实际尝试加载.xbap文件,此时它显示没有加载任何符号。我的断点都没有命中。根据其他地方的一些建议,在做这件事之前,我已经尝试过“mage-cc”

  • 项目调试面板中的硬编码URL,然后是F5。或者,“PresentationHost.exe-embedding-debug”并附加到进程,然后在IE中加载.xbap。当页面出现时,两者都会导致以下错误:

System.ArgumentException:不支持URI格式

   at System.IO.Path.NormalizePath(...)
   at System.IO.FileStream.Init(...)
   at System.IO.FileStream..ctor(...)
   at System.Windows.Interop.ApplicationLauncherXappDebug.GetIdFromManifest(...)
   at System.Windows.Interop.ApplicationLauncherXappDebug.GetApplicationIdentity()
   at System.Windows.Interop.ApplicationLauncherXappDebug.Initialize()
   at System.Windows.Interop.DocObjHost.MS.Internal.AppModel.IBrowserHostServices.Run(...)
找到了。如果您选择要发布的.pdb文件(默认情况下不是该文件),则“PresentationHost.exe-embedding”将起作用。这与我之前看到的情况类似,在实际加载应用程序后,调试器似乎有符号,而没有符号。澄清:

  • 进入项目属性上的“发布”选项卡
  • 单击“应用程序文件…”
  • 选中“显示所有文件”
  • 选择要包含的可执行文件的.pdb文件
  • 再版
  • PresentationHost.exe-嵌入
  • 附加到进程或将项目设置为在“调试”选项卡外运行此操作
  • 在浏览器中启动网页并导航到xbap文件,此时应点击断点

如果您可以访问源代码并在本地主机上部署,则只需添加
System.Diagnostics.Debugger.Launch()在您的代码中。这将允许您将VS附加到您的XBAP正在使用的任何进程。

谢谢,但您能否解释一下
PresentationHost.exe-embedded
的含义?我有一个winform包装在XBAP中,可以附加,但不能点击断点。