2011-01-07 45 views
1

我有一個包含ASP.Net 4網站和Silverlight 4項目的vs2010解決方案。我從根本上誤解了Silverlight的運行方式嗎? (調試問題)

該網站鏈接到Silverlight項目('地圖'),並且ClientBin文件夾包含一個Map.xap文件。

Map項目非常簡單。它包含默認的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> 

的背後的代碼如下所示:

public partial class MainPage : UserControl 
{ 

     public MainPage() 
     { 
      InitializeComponent(); 
      throw new Exception(); 
     } 

} 

裏面的網頁之一,我有默認的對象指向我Silverlight xap

當我運行網站時,我在Silverlight窗口中的Canvas上看到了我的背景圖像,所以我知道它在這個工作中NSE。但是,我無法斷開MainPage.xaml.cs文件(在IE中)設置的任何斷點。我已經檢查了Silverlight調試的正確設置。

並看到那個異常我在投入MainPage構造函數?我也沒有看到。實際上,我沒有在那裏放置任何東西,但我知道xaml正在渲染,因爲我可以看到我的畫布背景。我不在這裏?

回答

2

我遇到了這個問題,我們解決它的方式是手動將過程附加到調試器。

+0

這就是我總是這樣。我附加到我的aspnet進程進行調試。 – Erix 2011-01-07 20:45:34

+0

那是哪個過程? Silverlight應用程序不在aspnet進程中運行。 – 2011-01-07 20:46:41

1

您是否在Web - >調試器下的ASP.NET網站項目屬性中啓用了Silverlight調試?

+0

是的,我已經做到了 – Erix 2011-01-07 20:44:45

1

您是否嘗試清除瀏覽器的緩存?我知道當我使用FireFox時,它會緩存XAP,並且Visual Studio調試器無法找到正確的符號。

如果這是問題,那麼這是一個巧妙的方法來解決這個問題,從另一個Stackoverflow post被盜。只需將它放入托管Silverlight應用程序的ASPX頁面即可。

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

對於它的價值,你這樣做是正確的東西只是沒有正確接線。如果您還沒有,只需從VS2010創建一個新的Silverlight應用程序,然後重新開始,以確保所有連接都正確。你可以絕對重視流程,但你不應該「必須」。

VS2010將一個網格,而不是一個畫布,作爲默認基地。這並不重要,你可以使用,但是因爲我在那裏看到一個畫布,它讓我質疑你是如何創建項目的。如果你正在閱讀一本書等,那麼這個過程的某些部分可能已經錯過了。

確保在Web項目的屬性,您在Silverlight應用程序選項卡看,確保電網列出了Silverlight項目爲「地圖」,在Web路徑應該是「的ClientBin」,並且配置特定的文件夾是「沒有」。

我不認爲你需要什麼特別的Silverlight項目,但請確保它被設置爲在調試模式下生成,而不是RELEASE。 (我以前犯過這個愚蠢的錯誤)。還將其設置爲任何CPU。

最後,我知道你說你正在使用IE,但只要確定它不是FF等FF可以設置爲調試SL應用程序,但它首先需要一個調整。