我需要通过指定URL来调试完全信任的应用程序,或者理想情况下,从我打算将其部署到的Web应用程序中调试。我尝试了以下内容:
从命令行运行“PresentationHost.exe -embedding”,通过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(...)
答案 0 :(得分:4)
找到它。 “PresentationHost.exe -embedding”将起作用,前提是您选择要发布的.pdb文件,默认情况下不是这样。这是从我之前看到的,一旦应用程序实际加载,调试器似乎有符号然后没有。澄清:
答案 1 :(得分:2)
如果您有权访问源代码并在localhost上部署,则只需在代码中添加System.Diagnostics.Debugger.Launch();
即可。这将允许您将VS附加到XBAP正在使用的任何进程。