2011-04-07 97 views
3

所以我一直有一個問題跟蹤這個問題。拋出Silverlight異常(ARG_ARGUMENTEXCEPTION),不知道爲什麼或在哪裏

讓我把它分解得真快:我有一個Silverlight 4控件,顯示Telerik RadGridViews中的信息。網格還有一些額外的功能,但沒有什麼太奇怪的。我有3個儀表盤,每個儀表盤都通過主控制器顯示/隱藏。每個子控件都擁有相同類型的控件,因此它們幾乎相同。控件通過自定義事件向父控件報告活動。每次我切換控件可見性時,都會根據一些信息加載該控制板的數據。數據存儲在Web服務器上的XML文件中(使用http://),並使用.NET中的WebClient類進行檢索。一旦文件被檢索,它們被反序列化成POCO並傳遞到綁定到這些集合的網格。

因此,現在的問題:幾個星期前,從第一個控件轉換到第二個控件時,控件剛剛開始變爲空白。默認的Silverlight行爲是將錯誤報告給DOM。我們收到了「ARG_ARGUMENTEXCEPTION」。但是,這個問題是特定於某些用戶以及某些文件的。但是,對這些文件的檢查證明是徒勞的。我開始通過文本框輸出更多信息,但堆棧跟蹤是空的。我無法找到這個錯誤發生的方式或原因。

我的問題是:我該如何開始診斷這個問題?我嘗試過輸出信息,但發生錯誤的確切位置無法迴避。我無法找到使一個控件崩潰的原因是一組文件而不是另一組文件。有任何想法嗎?

編輯:我修改了一個有bug的UI元素。錯誤是從XAML拋出,而不是代碼隱藏,所以沒有堆棧跟蹤。我最終只是通過註釋代碼來確定錯誤。謝謝您的幫助!

+0

您是否能夠在調試模式下重現運行Silverlight應用程序的問題?如果是這樣,那麼我將使用這條路線。您應該希望能夠以這種方式確定錯誤的位置。 – 2011-05-16 18:45:33

回答

1

最近Silverlight 5測試版已發佈,而且在我的應用程序中出現同樣的錯誤,指出資源字典中的某個樣式錯誤。不同的silverlight版本將導致此錯誤。確保你的用戶擁有Silverlight的最新版本。

該錯誤的99%時間是由於資源字典xaml中的錯誤樣式,如generic.xaml。

我在構建時遇到了類似的問題,當從工具箱向我的用戶控件添加控件時,選擇了silverlight 3 dlls。 Visual Studio不會過濾silverlight 3 dlls,爲silverlight 4項目添加引用,這也會導致相同的錯誤。

大部分原因是xaml和clr類型映射不一致。如果xaml具有錯誤的值或錯誤的值類型,那麼在屬性中會出現此錯誤,但如果沒有行號信息,則必須在generic.xaml中。

相關問題