欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Exception from HRESULT: 0x800736B1,Could not load file or as

程序员文章站 2024-01-22 15:15:52
...

今天发布Web项目,结果运行出错,错误信息如下: [COMException (0x800736b1): 由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。 (Exception from HRESULT: 0x800736B1)] [FileLoadException: Could not load file or assem

今天发布Web项目,结果运行出错,错误信息如下:

[COMException (0x800736b1): 由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。 (Exception from HRESULT: 0x800736B1)]

[FileLoadException: Could not load file or assembly 'Microsoft.SqlServer.BatchParser, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. 由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。 (Exception from HRESULT: 0x800736B1)]

在网上搜索了半天,有不少人遇到这个问题,可惜没人解决……

只好自己想法处理,因为上周这个虚拟目录还能正常访问,并发现,别的虚拟目录都能正常访问

只有这个虚拟目录因为刚刚更新,不能打开任何页面,所以肯定是这个目录下有问题,而不是服务器问题

首先怀疑是Web.config问题,删除Web.config,问题依旧

接着怀疑是bin目录,进入bin目录,发现一个奇怪的dll文件:Microsoft.SqlServer.BatchParser.dll

删除之,OK,项目能正常运行了,

可是为什么会多出这个Microsoft.SqlServer.BatchParser.dll文件呢?而且每次生成,都会添加这个文件!!!

查看源代码引用,发现是项目里不知道什么时候添加了:

Microsoft.VisualStudio.TeamSystem.Data.UnitTesting

Microsoft.VisualStudio.QualityTools.UnitTestFramework
2个引用,

再查源代码历史记录,找到添加这2个引用的同事,他说他给项目添加新项时,误操作,点了添加数据库单元测试,后来删除了那个单元测试,可是没想到引用还在……

至此,原因也找到了,解决方法,删除那2个引用,还有一个自动生成的Databaseset.cs文件

再生成,没有问题了…………