Code First 发生的错误 Type is not resolved for member

今天在用nuget控制台更新数据库时遇到了非常令人郁闷的错误

System.Runtime.Serialization.SerializationException: Type is not resolved for member 'Oracle.ManagedDataAccess.Client.OracleException,Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342'.
在 System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)
在 System.Data.Entity.Migrations.Design.ToolingFacade.Run(BaseRunner runner)
在 System.Data.Entity.Migrations.Design.ToolingFacade.Update(String targetMigration, Boolean force)
在 System.Data.Entity.Migrations.UpdateDatabaseCommand.<>c__DisplayClass2.<.ctor>b__0()
在 System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action command)
Type is not resolved for member 'Oracle.ManagedDataAccess.Client.OracleException,Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342'.

在stackflow上看了一下,总结起来主要有下面几种情况:

1.路径问题 

就是项目路径中存在 & 符号,删掉之后就好了

参考:https://msdn.microsoft.com/en-us/data/jj618307.aspx

2..net版本问题

就是一个解决方案下有好几个项目,但是用了不同版本的.net,有的用了4.5,有的用了4,所以解决方案就是暂时卸载一个版本

参考:http://stackoverflow.com/questions/13144827/entity-framework-code-first-migrations-enable-migrations-fails

然并卵,对我一点帮助没有

后来想起来在某篇文章上看到错误的原因是migrate.exe找不到对应的dll,灵机一动,把这个dll复制到migrate.exe的目录下,问题解决

posted @ 2015-10-29 15:58  鸡钢互撸娃  阅读(919)  评论(0编辑  收藏  举报