IBM.Data.DB2 FileNotFound正在加载Microsoft.ReportingServices.Interfaces

时间:2016-02-12 04:36:36

标签: c# .net db2 unity-container

我有一个ASP.Net应用程序,它引用了一个带有一些可重用代码的程序集(常用工具,数据访问等)。程序集引用IBM.Data.DB2.dll。但是,我没有在我的应用程序中使用DB2,IBM.Data.DB2.dll只是一个依赖项(如果应用程序需要连接到DB2)。最近,我遇到了以下错误:

System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.ReportingServices.Interfaces, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified.
File name: 'Microsoft.ReportingServices.Interfaces, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91'
System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
  at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
  at System.Reflection.RuntimeModule.GetTypes()
  at System.Reflection.Assembly.GetTypes()
  at Unity.AutoRegistration.AutoRegistration.<ApplyAutoRegistration>b__5(Assembly a)
  at System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext()
  at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
  at Unity.AutoRegistration.AutoRegistration.ApplyAutoRegistration()

整个应用程序中包含Microsoft.ReportingServices.Interfaces的唯一文件是IBM.Data.DB2.dll文件。在部署应用程序时,我不需要SQL Server或本地安装SQL Server的开销少得多。请记住,我必需使用依赖于IBM.Data.DB2.dll的程序集,并且此错误在过去没有发生,似乎是最近的。

我尝试过绑定重定向,通过Nuget安装Microsoft.ReportingServices.Interfaces都无济于事。

有谁知道为什么会出现这种错误,更重要的是......如何解决它?

1 个答案:

答案 0 :(得分:5)

如果IBM.Data.DB2.dll引用Microsoft.ReportingServices.Interfaces,您可能需要手动将Microsoft.ReportingServices.Interfaces.dll复制到bin文件夹中。这是一篇可以帮助你的帖子:

Microsoft.ReportingServices.Interfaces.dll missing for SSRS 2005