2011-06-27 69 views
2

我有一個相當複雜的數據綁定XAML用戶控件嵌入在winforms應用程序中。 當我嘗試從Windows XP(SP3 +更新)機器打開表單時,出現nullreferenceexception「找不到對象引用」。當我用同一個用戶登錄時,但是通過Windows 7機器登錄時,它可以正常工作(在調試器和發行版中)。XP中的XAML用戶控件故障

除了XP機器沒有安裝VS2010的事實,所以我不能做任何花哨的調試,還有什麼我可以做的,爲失敗的xaml控制返回更多有用的調試數據。此外,是否有人知道任何可能導致此問題的XP/Windows 7差異?

謝謝!

+1

是否具有與.net相同版本的安裝在您的應用程序上的? –

+0

您可以在application.xaml.cs級別上記錄未處理的異常嗎?只是爲了看到何時發生確切的對象引用異常。 – 26071986

+0

這是一個常見的誤解,您需要在調試目標上安裝VS:只需將遠程調試器客戶端安裝在它上面,從開發計算機上的VS連接到它,然後像往常一樣進行調試。除此之外,你可能安裝了不同版本的庫,我不認爲XP +更新與Win7相同。 – stijn

回答

4

我做了什麼來捕捉更具體的信息是圍繞我的InitializeComponent();與嘗試捕捉,然後啓動一個MessageBox.Show像這樣的例外:

try 
{ 
    InitializeComponent(); 
} 
catch (Exception e) 
{ 
    MessageBox.Show(e.toString()); 
} 

如果你能做到這一點,你可以發佈一下你的異常更具體的信息。

注意:這個特定的問題發生在我身上。我包圍了Initialize,並發現我必須添加到我在XP上運行的Release項目中更多dll ...

+0

另外,如果你使用線程,將你的整個線程封裝在try/catch中,否則你會錯過除了UI線程之外的其他線程中的excepitions – stijn

+0

幫助我找到問題 - 遺憾地仍然在努力理解原因!問題描述[這裏](http://stackoverflow.com/questions/6494806/appropriate-point-to-attach-nodechanged-event-xaml) – Runonthespot