我们有一个包含N个项目的ASP.NET应用程序。两个项目都引用了第三方库 - DocumentFormat.OpenXml.dll。一个项目 - 项目A - 引用该库的2.0.5022.0版本。另一个项目 - 项目B - 引用了该库的2.5.5631.0版本。当构建有关同一DLL的两个版本之间的冲突的解决方案时,我们会收到构建警告。版本2.5.5631.0是最终在\ bin目录中的版本。
在运行时,当我在内部QA服务器上测试程序集A(从项目A构建)提供的功能时,该功能可以正常工作。但是,这不是我的预期。我希望得到一个System.IO.FileLoadException错误:
System.IO.FileLoadException: Could not load file or assembly 'DocumentFormat.OpenXml, Version=2.0.5022.0...
请注意,此应用的web.config文件中没有此DLL的bindingRedirects。
此问题引起我注意的原因是我们实际上在客户的服务器上收到System.IO.FileLoadException错误消息。我无法理解为什么我们的QA服务器上没有出现相同的错误。有什么想法吗?