Asp.net 在iis上部署asp-错误:二进制签名错误

Asp.net 在iis上部署asp-错误:二进制签名错误,asp.net,sql,iis,Asp.net,Sql,Iis,我正在部署一个连接到本地ms sql数据库的asp应用程序。 它在VisualStudio2012中运行良好。我还在iis上的另一台pc上工作。 在我的计算机上,它以前可以工作,但现在我的应用在iis上部署时失败,并显示以下错误消息: 我曾尝试用4.0和4.5构建项目,但都导致了相同的错误。 所有使用ms sql的应用程序都会出现这种情况。 有什么想法吗? 可能是某些sql DLL丢失或已损坏 Bad binary signature. (Exception from HRESULT: 0x80

我正在部署一个连接到本地ms sql数据库的asp应用程序。 它在VisualStudio2012中运行良好。我还在iis上的另一台pc上工作。 在我的计算机上,它以前可以工作,但现在我的应用在iis上部署时失败,并显示以下错误消息: 我曾尝试用4.0和4.5构建项目,但都导致了相同的错误。 所有使用ms sql的应用程序都会出现这种情况。 有什么想法吗? 可能是某些sql DLL丢失或已损坏

Bad binary signature. (Exception from HRESULT: 0x80131192)

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.BadImageFormatException: Bad binary signature. (Exception from HRESULT: 0x80131192)

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace: 


[BadImageFormatException: Bad binary signature. (Exception from HRESULT: 0x80131192)]
   System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +0
   System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) +180
   System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +21
   System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +325
   System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +420
   System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +280
   System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +3607911
   System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +28
   System.Web.UI.WebControls.DataBoundControl.PerformSelect() +313
   System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +146
   System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +192
   System.Web.UI.Control.EnsureChildControls() +189
   System.Web.UI.Control.PreRenderRecursiveInternal() +60
   System.Web.UI.Control.PreRenderRecursiveInternal() +222
   System.Web.UI.Control.PreRenderRecursiveInternal() +222
   System.Web.UI.Control.PreRenderRecursiveInternal() +222
   System.Web.UI.Control.PreRenderRecursiveInternal() +222
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4297

我必须按照以下步骤修复iis:

从控制面板=>windows功能中,删除了Internet信息服务

  • 已删除C:\inetpub文件夹
  • 重新启动
  • 从控制面板->windows功能,添加Internet信息服务
  • 使用以下方式在iis上注册了dot net:

    C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet\u regiis.exe-i

  • 然后重新部署相同的应用程序,一切都很好