System.Linq.Dynamic:无法加载文件或程序集Castle.DynamicProxy2

时间:2014-10-07 21:41:01

标签: c# asp.net asp.net-mvc-5 dynamic-linq castle-dynamicproxy

我有三个.NET 4.5项目Example.Mvc(Mvc 5),Example.UnitTest,Example.Data。我从NuGet将Dynamic Linq Library v1.1.13加载到我的数据层" Example.Data"项目。 Example.Data使用Entity Framework 6,我想在其中使用Dynamic Linq:

var list = db.ExtendedUserAccounts
                        .Where(x => x.LastName.Contains("doe"))
                        .OrderBy("LastName, DateOfBirth asc")
                        .Skip(numberOfResultsPerPage * (pageNumber - 1))
                        .Take(numberOfResultsPerPage);
                    return list.ToList();

Example.UnitTest项目完美地调用该方法。但是,引用相同Example.Data项目的Example.Mvc项目会引发以下异常:

  

System.Reflection.ReflectionTypeLoadException

     

"无法加载一个或多个请求的类型。检索   LoaderExceptions属性以获取更多信息。"

LoaderException说:

  

System.IO.FileNotFoundException

     

{"无法加载文件或程序集' Castle.DynamicProxy2,   Version = 2.1.0.0,Culture = neutral,PublicKeyToken = 407dd0808d44fbdc'要么   其中一个依赖项。系统找不到该文件   指定。":" Castle.DynamicProxy2,Version = 2.1.0.0,Culture = neutral,   公钥= 407dd0808d44fbdc"}

在尝试使用Dynamic Linq之前,我从未遇到此错误。

更新:

我通过引用Castle.DynamicProxy2,Castle.Core和log4net的旧DLL使错误消失了。我在RubyGems.org上找到了它们。我真的不喜欢这个修复程序,因为程序集已经过时,我将来可能遇到一些兼容性/程序集重定向问题,但我该怎么办?

0 个答案:

没有答案