我有两个项目。第一个项目是dll项目,第二个是mvc4网站。在dll中,我有一个从其中自动生成DbContext的实体数据模型。
在Global.asax中,我用下面这一行初始化db:
System.Data.Entity.Database.SetInitializer( new DropCreateDatabaseAlways<WebConfigEntities>() );当我启动网站时,我会得到一个TypeLoadException
Server Error in '/' Application.
GenericArguments[0], WebConfigDB.WebConfigEntities, voor System.Data.Entity.IDatabaseInitializer`1[TContext] is in strijd met de beperking van typeparameter TContext.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.TypeLoadException: GenericArguments[0], WebConfigDB.WebConfigEntities, voor System.Data.Entity.IDatabaseInitializer`1[TContext] is in strijd met de beperking van typeparameter TContext.
Source Error:
Line 46:
Line 47: BundleTable.Bundles.EnableDefaultBundles();
Line 48: }
Line 49: }
Line 50: }
Source File: D:\projecten\MD2400\WebConfig\Global.asax.cs Line: 48
Stack Trace:
[TypeLoadException: GenericArguments[0], WebConfigDB.WebConfigEntities, voor System.Data.Entity.IDatabaseInitializer`1[TContext] is in strijd met de beperking van typeparameter TContext.]
WebConfig.MvcApplication.Application_Start() in D:\projecten\MD2400\WebConfig\Global.asax.cs:48我该如何解决这个问题?
发布于 2012-06-01 23:23:56
这种类型的错误通常指示不同的程序集以某种方式引用了不同版本的EntityFramework.dll。确保所有项目(以及引用程序集的任何其他内容)都使用完全相同的版本。此外,请确保您在GAC中没有EntityFramework.dll,或者如果您必须在GAC中拥有它,那么它的版本也与所引用的版本相同。
如果您正在使用针对不同版本构建的外部依赖项,并且无法更改此依赖项,则可能需要设置绑定重定向,以确保CLR正确解析该版本。
发布于 2012-06-01 20:52:47
异常的翻译将会有所帮助。在泛型方法调用中指定上下文是否有帮助?如下所示:
System.Data.Entity.Database.SetInitializer<WebConfigEntities>( new DropCreateDatabaseAlways<WebConfigEntities>() );如何将connectionString传递给WebConfigEntities类?你能把它的构造器贴出来吗?
EntityFramework使用了一些魔法从.config文件中检索connectionString。如果您将模型放在单独的dll中,这可能不会很好地工作。这并不意味着不能将模型放在dll中,当然可以。我已经为几个项目做到了这一点。
发布于 2020-06-09 01:23:39
我犯了一个错误,从EF dll的解决方案资源管理器中获取了版本号,而不是nuget包的版本。因此,我加载了nuget包版本6.0.0而不是6.2.0。

https://stackoverflow.com/questions/10850119
复制相似问题