【问题标题】:The process was terminated due to an unhandled exception进程因未处理的异常而终止
【发布时间】:2013-12-06 11:33:25
【问题描述】:

所以让我从头开始。我制作了一个控制台应用程序,它将使用计划任务每​​天运行。控制台应用程序可以运行并且已经过测试。我的问题是,当我从 bin 中取出 .exe.exe.config 时,我将它们移动到单独的服务器,更改配置以包含相关的连接字符串,但是当 .exe 运行时,我收到以下错误:

Application: xxx.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Data.SqlClient.SqlException
Stack:
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(System.Data.CommandBehavior, System.Data.SqlClient.RunBehavior, Boolean, Boolean)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(System.Data.CommandBehavior, System.Data.SqlClient.RunBehavior, Boolean, System.String, System.Data.Common.DbAsyncResult)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(System.Data.CommandBehavior, System.Data.SqlClient.RunBehavior, Boolean, System.String)
   at System.Data.SqlClient.SqlCommand.ExecuteReader(System.Data.CommandBehavior, System.String)
   at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(System.Data.CommandBehavior)
   at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(System.Data.CommandBehavior)
   at System.Data.Common.DbDataAdapter.FillInternal(System.Data.DataSet, System.Data.DataTable[], Int32, Int32, System.String, System.Data.IDbCommand, System.Data.CommandBehavior)
   at System.Data.Common.DbDataAdapter.Fill(System.Data.DataTable[], Int32, Int32, System.Data.IDbCommand, System.Data.CommandBehavior)
   at System.Data.Common.DbDataAdapter.Fill(System.Data.DataTable)
   at Dmc.V1.BatchTasks.DestinationMarketingEntityTableAdapters.HotelCodesTableAdapter.GetData()
   at Dmc.V1.BatchTasks.Program.Main(System.String[])

谁能帮我解释一下?

【问题讨论】:

  • 请检查远程电脑上安装的.NET Framework版本。
  • 转到控制面板->添加/删除程序:在那里你可以看到电脑上安装了哪个版本。
  • 我可以看到“Microsoft .NET Framework 4”和“Microsoft .NET Framework 3.5”这有帮助吗?
  • 在远程机器上,请检查您本地电脑上的 .net 版本并告诉我。
  • 好的,所以远程机器我可以看到“Microsoft .NET Framework 4”和“Microsoft .NET Framework 3.5 SP1”以及我的本地“Microsoft .NET Framework 4.5.1”和“Microsoft .NET Compact” Framework 3.5' 和'Microsoft .NET Compact Framework 2.0 SP2'

标签: c# scheduled-tasks console-application


【解决方案1】:

我刚遇到这个问题,对我来说,结果是我的应用程序登录到数据库的用户对我尝试运行的存储过程没有执行权限。

我的应用程序以 .Net Framework 4.7.2 为目标,我的应用程序作为计划任务运行。我得到了同样的错误信息

Application: xxx.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Data.SqlClient.SqlException

如果最近对数据库或应用程序使用的连接字符串进行了更改,请检查是否存在可能的数据库权限问题。

【讨论】:

    【解决方案2】:

    在我看来这是一个 .NET Framework compatibility 问题。

    问题:您已经在本地计算机上使用.NET Framework 4.5 开发了您的应用程序,并在远程计算机上使用.NET Framework 4.0 运行相同的应用程序。

    注意:如果您将应用程序定位为在 Higher 版本的 .NET Framework 上运行,则它不会在以下版本上运行。

    解决方案:您需要将其定位到 .NET Framework 4.0 才能在远程电脑上运行。

    第一步:右击project - 选择properties

    第 2 步:Target Framework.NET Framework 4.5 更改为 .NET Framework 4

    第 3 步:现在重建您的应用程序并进行部署。

    【讨论】:

    • 非常感谢您的回答,如果可行,我会通知您!:-)
    • 不,不幸的是它没有工作,但感谢您的帮助
    • v4.0.30319 是 CLR 的版本,与 .net framework 的版本不同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-04
    • 1970-01-01
    • 1970-01-01
    • 2019-10-08
    • 1970-01-01
    相关资源
    最近更新 更多