Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 使用WCF服务调试Silverlight项目_Visual Studio_Silverlight_Wcf - Fatal编程技术网

Visual studio 使用WCF服务调试Silverlight项目

Visual studio 使用WCF服务调试Silverlight项目,visual-studio,silverlight,wcf,Visual Studio,Silverlight,Wcf,我有一个托管在IIS中的WCF服务,它由Silverlight客户端应用程序使用。当我运行Silverlight应用程序时,似乎没有一个断点被击中(不是服务中的断点,尽管它们也不会被击中。该服务不在同一个解决方案中) 通常,当我在过去创建SL项目时,默认情况下它们会达到断点,并且我无法确定我是否更改了任何设置 当我运行项目时,确实会收到一个消息框,上面说:“您要调试的Silverlight项目使用web服务。除非Silverlight项目与web服务位于同一web项目中并从该web项目启动,否则

我有一个托管在IIS中的WCF服务,它由Silverlight客户端应用程序使用。当我运行Silverlight应用程序时,似乎没有一个断点被击中(不是服务中的断点,尽管它们也不会被击中。该服务不在同一个解决方案中)

通常,当我在过去创建SL项目时,默认情况下它们会达到断点,并且我无法确定我是否更改了任何设置

当我运行项目时,确实会收到一个消息框,上面说:“您要调试的Silverlight项目使用web服务。除非Silverlight项目与web服务位于同一web项目中并从该web项目启动,否则对web服务的调用将失败。是否仍要调试?”

所以我说“是”

我的断点在一个我知道被击中的地方(MainPage.xaml.cs中的InitializeComponent),所以不是这样

我不知道这是否会对客户端应用程序产生影响,但WCF服务在其App.config中的编译调试设置为“true”

有人能帮忙吗

编辑:

一些有用的地方:项目设置为调试。SL项目中没有web组件。应用程序可以正常编译和运行。下面屏幕截图中的代码是主页的代码,主页是默认页面(也是我启动项目时看到的页面)。VisualStudio版本是2010 Ultimate(版本10.0.40219.1 SPRel),我没有创建OOB应用程序。除了定期运行之外,我还特别从VisualStudio中的Debug->Start Debug选项开始

屏幕截图:

如果该图像不够清晰,则存在全分辨率图像

第二个屏幕截图显示MainPage.xaml.cs中InitializeComponent上的断点,该断点未触发(前一个屏幕截图显示了相关视图模型的构造函数)


同样,如果这还不够清楚,完整分辨率版本是

您得到的消息与未命中断点无关。这个“警告”也不是完全正确的,只要你调用的Web服务正在运行,你就会没事。您可以愉快地忽略此警告

至于没有达到断点,我可以想到两个原因。您可能正在以发布模式构建,也可能启动了错误的项目。您不应该启动Visual Studio可能为您创建的MyApp.Web项目,而应该启动实际的Silverlight项目


如果不是这些选项之一,您应该提供更多关于您正在做什么的详细信息,如Visual Studio版本,是否正在运行浏览器不足的应用程序,应用程序是否真的可以工作等。可能还有一些事情需要检查,但很难用这些小信息猜出来。

我在您的解决方案中没有看到test page.htm。您如何托管/运行SL应用程序

如果您将其托管在ASP.NET web应用程序中,我会说检查是否在web项目属性上启用了Silverlight调试器


但事实上,我根本看不出silverlight应用程序是如何运行的…?

您能澄清一下您使用的是
RIA
?所有项目都在同一个解决方案中吗?我做了一些编辑。希望这能回答问题。好的,我做了编辑。希望这能回答一些问题。一切看起来都很好。您应该检查VisualStudio中的“输出”窗口,以查看是否存在任何错误。您还可以尝试检查代码中的
System.Diagnostics.Debugger.IsAttached
,查看调试器是否实际连接到正在运行的应用程序。最后,您可以尝试从“调试”菜单中“删除所有断点”,然后再次设置断点。我已经看到了使用断点清除奇怪行为的方法。是的,似乎没有附加调试器(您所说的属性显示为“false”)。我是否意外地将其设置为“不附加”,或者这是默认设置?哦,我该如何重新连接它?谢谢。如果没有附加调试程序,我希望会收到一些消息或错误。输出窗口中没有任何内容?这可能是与Web服务器的连接有问题,我想如果在浏览器外运行调试,您会发现调试是有效的。您可以在项目的属性中配置,在Silverlight页面上启用OOB,并在debug页面上告诉它启动OOB。无论如何,您都应该检查调试页面上的设置。