2013-03-05 55 views
0

我已经在Visual Studio 2010中使用C#创建了一个Windows窗体应用程序,它将SQL Server中的数据库连接起来。毕竟我的开发完成后,我复制在我的机器生成的exe文件,并粘贴到另一台机器,并尝试执行它,但它不工作。无法运行从c#创建的.exe文件

我可以看到在任务管理器中启动的进程,但它在5秒后关闭。我甚至尝试创建该应用程序的安装程序,并安装在该机器上,但我仍面临同样的问题。

但是在我的机器中,它在两种方式中都能够完美地工作。任何人都可以帮助我找到我出错的地方。

在此先感谢

+2

生存控制台应用程序已在事件查看器看一下,它显示什么错误?另一台机器可能缺少一些您的项目依赖的.dll文件。 – DGibbs 2013-03-05 12:30:51

+1

你能告诉我们更多关于这两个系统的配置吗? – 2013-03-05 12:31:16

+2

您是否在其他机器上安装了.net框架?在正确的版本? – Tomtom 2013-03-05 12:34:07

回答

0

也许你有一些引用的程序,你没有应用程序本身一起复制。

或者从其他机器运行时的连接字符串是无效的(如果你使用本地SQL数据库的工作,或网络或任何在它不是入店其他机器上)

或者,你没有权利在其他机器上运行它。

+0

我怀疑sql连接的问题我在主服务器上使用Windows身份验证,其他系统可能连接到这个 – Ramesh 2013-03-06 07:11:19

+0

如果其他系统有权访问服务器并且他们有权访问(如在安全权限中)那么它应该工作。 – dutzu 2013-03-06 07:28:32

+0

在其他系统中没有SQL服务器,如何检查他们是否有权访问 – Ramesh 2013-03-06 10:37:32

0

由于您没有提供错误,因此您收到的答案和评论都是有教育意义的猜测。

你应该检查错误事件查看器...

这将让你了解正在发生的事情。如果你不能修复它,添加此信息到您的问题

由于您没有发布异常消息,所以您可能不适当catching exceptions。只是为了确保将你的主要功能包围在Try/Catch中。

在Catch中,编写一些代码将消息异常转储到文件中,或者甚至更好地使用Log4Net。为了简单起见,现在只需添加一些代码即可写入文件。喜欢的东西:

static void Main() 
    { 
     try 
     { 
      //Your code 
     } 
     catch (Exception ex) 
     { 
      //Write ex.Message to a file 
      using (StreamWriter outfile = new StreamWriter(@".\error.txt")) 
      { 
       outfile.Write(ex.Message.ToString()); 
      } 
     } 
    } 

PS:如果你可以用Console.Write