错误说明:
无法加载文件或程序集'System.Data.DataSetExtensions,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'或 其中一个依赖项。文件或目录已损坏 不可读。 (来自HRESULT的异常:0x80070570)'
装配加载跟踪:以下信息可能对您有所帮助 确定程序集'System.Data.DataSetExtensions的原因, Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089' 无法加载。
警告:装配绑定日志记录已关闭。 要启用程序集绑定失败日志记录,请将注册表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog](DWORD)设置为1。 注意:程序集绑定失败日志记录会导致一些性能损失。 要关闭此功能,请删除注册表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog]。
堆栈追踪:
[BadImageFormatException:无法加载文件或程序集'System.Data.DataSetExtensions,Version = 4.0.0.0,Culture = neutral, PublicKeyToken = b77a5c561934e089'或其依赖项之一。文件 或目录已损坏且无法读取。 (HRESULT的例外情况: 0x80070570)] System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName,String codeBase,Evidence assemblySecurity,RuntimeAssembly locationHint,StackCrawlMark& stackMark,IntPtr pPrivHostBinder, Boolean throwOnFileNotFound,Boolean forIntrospection,Boolean suppressSecurityChecks)+0 System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(的AssemblyName assemblyRef,Evidence assemblySecurity,RuntimeAssembly reqAssembly, StackCrawlMark&安培; stackMark,IntPtr pPrivHostBinder,Boolean throwOnFileNotFound,Boolean forIntrospection,Boolean suppressSecurityChecks)+225 System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString,Evidence assemblySecurity,StackCrawlMark& stackMark, IntPtr pPrivHostBinder,Boolean forIntrospection)+110 System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString,Evidence assemblySecurity,StackCrawlMark& stackMark, 布局forIntrospection)+22 System.Reflection.Assembly.Load(String assemblyString)+34 System.Web.Configuration.CompilationSection.LoadAssemblyHelper(字符串 assemblyName,Boolean starDirective)+48
[ConfigurationErrorsException:无法加载文件或程序集'System.Data.DataSetExtensions,Version = 4.0.0.0,Culture = neutral, PublicKeyToken = b77a5c561934e089'或其依赖项之一。文件 或目录已损坏且无法读取。 (HRESULT的例外情况: 0x80070570)] System.Web.Configuration.CompilationSection.LoadAssemblyHelper(字符串 assemblyName,布尔starDirective)+729 System.Web.Configuration.CompilationSection.LoadAssembly(集信息 ai)+69 System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig)+226 System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies() +73 System.Web.Compilation.BuildManager.CallPreStartInitMethods(字符串 preStartInitListPath,Boolean& isRefAssemblyLoaded)+321 System.Web.Compilation.BuildManager.ExecutePreAppStart()+170 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager,IApplicationHost appHost,IConfigMapPathFactory configMapPathFactory,HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel,Exception appDomainCreationException)+734
[HttpException(0x80004005):无法加载文件或程序集'System.Data.DataSetExtensions,Version = 4.0.0.0,Culture = neutral, PublicKeyToken = b77a5c561934e089'或其依赖项之一。文件 或目录已损坏且无法读取。 (HRESULT的例外情况: 0x80070570)] System.Web.HttpRuntime.FirstRequestInit(HttpContext context)+525 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context)+118 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr,HttpContext context)+708
情景:
在IIS上发布的应用程序上弹出此错误,但本地副本在同一台计算机上正常运行。
开发环境:
Visual Studio 2017,MS SQlServer 2014,实体框架代码优先。
观察:
新发布的版本有此错误,但以前发布的版本运行正常。本地副本工作正常,在同一台机器上没有任何问题。
尝试:
Could not load file or assembly 'System.Data.DataSetExtensions, Version=3.5.0.0
[Could not load file or assembly 'System.Data.DataSetExtensions
答案 0 :(得分:0)
发布有效的解决方案,因为它可能有助于某人。
有一个与SqlServer挂起相关的可选Windows更新我执行解决了这个问题。
问题原因: 问题是由于恶意软件攻击需要恢复到之前的工作备份,这可能已经破坏了dll。
由于错误消息显示dll已损坏/损坏,可通过在PowerShell中执行确认错误来确认
([system.reflection.assembly]::loadfile("C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Data.DataSetExtensions.dll")).FullName
另外,请注意,使用相同版本下载和替换dll也无法解决此问题。甚至试图从Visual Studio IDE中删除和添加引用也没有帮助。