[英]Project attempting to access version of DLL I have never used
我的项目正在尝试引用我从未使用过的DLL版本。 尝试访问数据库时出现错误:
Windows Service Manager.exe中发生类型为'System.IO.FileLoadException'的第一次机会异常
附加信息:无法加载文件或程序集'System.Data.SqlServerCe,版本= 3.5.1.0,区域性=中性,PublicKeyToken = 89845dcd8080cc91'或其依赖项之一。 找到的程序集的清单定义与程序集引用不匹配。
现在这很有意义,它应该不再能够找到,因为它从未存在过。
我的项目中引用的唯一版本是4.0.8902.1
,而在项目的app.config
,引用是:
<dependentAssembly> <assemblyIdentity name="System.Data.SqlServerCe" publicKeyToken="89845dcd8080cc91" /> <bindingRedirect oldVersion="4.0.0.0-4.0.0.1" newVersion="4.0.0.1" /> </dependentAssembly>
这是项目中任何地方引用的唯一版本。
我当然想知道如何解决它,但是没有人知道一个项目如何开始任意引用从未存在过,并且在项目中任何地方都没有引用过的DLL版本吗? 从正常运行到现在的唯一变化是,我停止了这个项目几个小时的工作,然后重新打开它。
编辑:
在构建过程中,我看到:
考虑对程序集“ System.Data.SqlServerCe,Culture = neutral,PublicKeyToken = 89845dcd8080cc91”的app.config重新映射,从版本“ 3.5.1.0” []到版本“ 4.0.0.1” [C:\\ Program Files(x86)\\ Microsoft SQL Server Compact Edition \\ v4.0 \\ Private \\ System.Data.SqlServerCe.dll]解决冲突并摆脱警告。
不一定有帮助,因为没有引用3.5.1.0的app.config
。 我已经检查了解决方案中的每个app.config,甚至只是搜索了文本3.5.1.0
,而该文本根本不存在...我不知道该如何解决。
我可以想到的下一件事情是在我的整个硬盘驱动器中搜索字符串'3.5.1.0'...因此,我将尝试这样做。
好吧,我仍然不知道发生了什么,但是我做了以下事情,而且似乎已经停止了:
1)清理解决方案中的每个项目
2)关闭Visual Studio
3)从解决方案目录中删除所有.suo文件
4)在.csproj文件中将AutoGenerateBindingRedirects
设置为True
5)打开VS,重建解决方案,它可以正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.