2011-06-27 43 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