Jam*_*zer 14 c# csla mstest entity-framework-4.3 visual-studio-2012
在VS2010中,我的MSTest测试运行得很好.
在VS2012中运行时出现错误.该测试使用自定义业务主体设置Csla.ApplicationContext.User.当要求EntityFramework提供新的ObjectContext时,我收到一个SerializationException,指出无法找到我的自定义业务主体类型.
在运行VS2012的测试运行器或Resharper7的测试运行器时,使用EntityFramework的所有测试都会失败.我试过NCrunch的测试跑步者,他们都通过了.
我该如何解决这个问题?
我发现了我真正的问题。VS2012 在单独的 AppDomain 中运行测试,我们的数据访问层通过反射加载。仍然不确定为什么 EF 需要了解主体,但我们的解决方案是在访问 EF 之前将主体重置为 GenericPrincipal,然后放回原始主体。我仍在思考也许 IoC 容器可以缓解这个问题