Asp.net 我根本上误解了Silverlight的运行方式吗?(调试问题)

Asp.net 我根本上误解了Silverlight的运行方式吗?(调试问题),asp.net,silverlight,Asp.net,Silverlight,我有一个vs2010解决方案,其中包含一个ASP.NET4网站和一个Silverlight4项目 该网站链接到Silverlight项目“Map”,ClientBin文件夹包含一个Map.xap文件 地图项目非常简单。它包含默认的App.xaml和App.xaml.cs文件。 MainPage.xaml文件如下所示 <UserControl x:Class="Map.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/

我有一个vs2010解决方案,其中包含一个ASP.NET4网站和一个Silverlight4项目

该网站链接到Silverlight项目“Map”,ClientBin文件夹包含一个Map.xap文件

地图项目非常简单。它包含默认的App.xaml和App.xaml.cs文件。 MainPage.xaml文件如下所示

<UserControl x:Class="Map.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="380" d:DesignWidth="800">

<Canvas x:Name="MainCanvas" Width="800" Height="380">
    <Canvas.Background>
        <ImageBrush ImageSource="map.png" Stretch="None"/>
    </Canvas.Background>
</Canvas>
在其中一个网页中,我有一个指向Silverlight xap的默认对象

当我运行网站时,我会在Silverlight窗口的画布上看到我的背景图像,所以我知道它在这个意义上工作。但是,我无法中断IE中MainPage.xaml.cs文件中设置的任何断点。我已检查了Silverlight调试的正确设置


看到我在主页构造函数中抛出的异常了吗?我也没看到。事实上,我在那里放的东西似乎根本没有运行过,但我知道xaml正在渲染,因为我可以看到我的画布背景。我在这里没有得到什么?

您在Web->Debuggers下的ASP.NET网站项目属性中启用了Silverlight调试吗?

您在Web->Debuggers下的ASP.NET网站项目属性中启用了Silverlight调试吗?

我遇到了这个问题,我们解决这个问题的方法是手动将进程附加到调试器。

我遇到了这个问题,我们解决这个问题的方法是手动将进程附加到调试器。

您是否尝试过清除浏览器的缓存?我知道当我使用FireFox时,它会缓存XAP,而VisualStudio调试器无法找到正确的符号

如果这是一个问题,那么这里有一个巧妙的技巧来回避这个问题,从别人那里偷来的。只要把这个放在你的ASPX页面上就可以了

<param name="source" value="ClientBin/App.xap?<%= DateTime.Now.Ticks %>" />

您是否尝试过清除浏览器的缓存?我知道当我使用FireFox时,它会缓存XAP,而VisualStudio调试器无法找到正确的符号

如果这是一个问题,那么这里有一个巧妙的技巧来回避这个问题,从别人那里偷来的。只要把这个放在你的ASPX页面上就可以了

<param name="source" value="ClientBin/App.xap?<%= DateTime.Now.Ticks %>" />

不管它值多少钱,你都做对了,有些东西没有正确连接。如果您还没有,只需从VS2010创建一个新的Silverlight应用程序,然后重新开始,以确保一切都正确连接。您完全可以附加到流程,但不必这样做

VS2010将网格而不是画布作为默认基础。这没关系,你可以使用任何一个,但是因为我在那里看到了画布,这让我开始质疑你是如何创建项目的。如果你在阅读一本书等,那么这个过程的某些部分可能已经错过了

确保在Web项目属性下,查看Silverlight应用程序选项卡,并确保网格将Silverlight项目列为地图,Web中的路径应为ClientBin,特定于配置的文件夹为No

我认为在Silverlight项目中不需要任何特殊的东西,但一定要确保它设置为在调试模式下构建,而不是发布。我以前犯过这个愚蠢的错误。也可以为任何CPU设置它


最后,我知道你说你正在使用IE,但请确保它不是FF,等等。FF可以设置为调试SL应用程序,但首先需要调整

不管它值多少钱,你都做对了,只是有些东西没有正确连接。如果您还没有,只需从VS2010创建一个新的Silverlight应用程序,然后重新开始,以确保一切都正确连接。您完全可以附加到流程,但不必这样做

VS2010将网格而不是画布作为默认基础。这没关系,你可以使用任何一个,但是因为我在那里看到了画布,这让我开始质疑你是如何创建项目的。如果你在阅读一本书等,那么这个过程的某些部分可能已经错过了

确保在Web项目属性下,查看Silverlight应用程序选项卡,并确保网格将Silverlight项目列为地图,Web中的路径应为ClientBin,特定于配置的文件夹为No

我认为在Silverlight项目中不需要任何特殊的东西,但一定要确保它设置为在调试模式下构建,而不是发布。我以前犯过这个愚蠢的错误。也可以为任何CPU设置它


最后,我知道你说你正在使用IE,但请确保它不是FF,等等。FF可以设置为调试SL应用程序,但首先需要调整

那是我经常做的事。我正在连接到我的aspnet进程进行调试。这是哪个进程?Silverlight应用程序不在aspnet进程中运行。您必须确保将调试器附加到IE进程。@Peter-是的,我完全误解了它。不知道为什么我认为它会影响asp进程。谢谢,我一直都是这样。我正在连接到我的aspnet进程进行调试。这是哪个进程?Silverlight应用程序未在aspnet进程中运行。您必须确保附加t
他对IE程序进行了调试。@Peter-是的,我完全误解了。不知道为什么我认为它会影响asp进程。谢谢。你说的FF调试SL应用的调整是什么?你说的FF调试SL应用的调整是什么?