c #Windows窗体应用程序在客户端计算机上崩溃

时间:2017-07-31 10:31:15

标签: c# .net winforms sql-server-2014

我的应用程序正在粉碎客户端PC。我在更改SQL连接字符串并设置文件之后在我的第二台笔记本电脑中安装了另一台SQL Server 2014,这对我来说是正常的。在我的开发者机器中,“第一个”工作简单。但是,当我更改连接设置时,就像我为我的笔记本电脑所做的那样,并将应用程序带到客户端机器上进行破碎。

我在所有计算机上使用相同的SQL Server 2014.

并显示此消息:

enter image description here

我尝试重新安装新的.Net Framework但不能正常工作。 我应该怎么做她?

2 个答案:

答案 0 :(得分:1)

在Program.cs,App.cs或App.xaml.cs中,您可以注册一个异常处理程序,该处理程序捕获所有未处理的异常,即使是那些导致崩溃的异常。程序启动后立即将函数注册到AppDomain.CurrentDomain.UnhandledException,在该处理程序中,您可以将第二个参数中的ExceptionObject转储到文本文件中。这至少会为您提供进一步的信息。

除此之外,由于我们没有足够的信息,因此我们无法确定该崩溃的远程原因。

答案 1 :(得分:0)

我完全同意您的代码中需要进行错误处理!不过,以下内容可能有所帮助。

  1. 我强烈建议您的应用程序中没有固定的连接字符串。这使得很难移植到客户机。而是在“设置”中包含连接字符串。

  2. 在客户端计算机上打开记事本并保存带有.udl扩展名的新空文件(您需要在“保存对话框”下拉列表中选择“所有文件”),例如testconn.udl。现在从资源管理器中双击新的.udl文件。应打开数据链接属性窗口。在提供程序选项卡上,选择SQL Server Native Client。在“连接”选项卡上,选择客户端SQL Server的名称,并根据需要填写其他选项。现在单击Test Connection。希望,它会说Test成功了。现在单击“确定”,然后在记事本中重新打开.udl文件。它将创建一个oledb字符串。对于SQLClient,您不需要" Provider ="部分,您也可以忽略初始文件名和ServerSPN;但是,其余部分将为您提供客户端作为连接字符串所需的值。

  3. 假设您已完成1.和2.您现在可以编辑应用程序的配置文件以包含正确的连接字符串。

  4. 唯一可能出错的是,如果2.中的测试连接不起作用。这可能有很多原因,我不会在这里猜测。请尝试一下,并报告任何问题。如果测试连接不成功,至少可以确定问题不是您的代码!