标签:
今天打开MVC项目(Code-First),打算手动更新数据库,所以直接在"程序包管理控制台"中执行如下命:
enable-migrations -contexttypename BJYLOnlineServ.Areas.Enterprise.DAL.EnterpriseContext -MigrationsDirectory Migrations\Enterprise;
控制台直接给了我一个这样的错误,我奇怪了,之前还好好的啊,怎么回事了。错误:
PM> enable-migrations -contexttypename BJYLOnlineServ.Areas.Enterprise.DAL.EnterpriseContext -MigrationsDirectory Migrations\Enterprise 使用“2”个参数调用“SetData”时发生异常:“程序集“Microsoft.VisualStudio.TeamArchitect.ModelingProject, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”中的类型“Microsoft.VisualStudio.TeamArchitect.ModelingProject.ModelProjectAutomationObject”未标记为可序列化。” 所在位置 D:\docuemtn-xf\03Work\onlineservice_Curr\trunk\packages\EntityFramework.6.1.3\tools\EntityFramework.psm1:720 字符: 20 + $domain.SetData <<<< (‘startUpProject‘, $startUpProject) + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : DotNetMethodException System.NullReferenceException: 未将对象引用设置到对象的实例。 在 System.Data.Entity.Migrations.Extensions.ProjectExtensions.GetProjectTypes(Project project, Int32 shellVersion) 在 System.Data.Entity.Migrations.Extensions.ProjectExtensions.IsWebProject(Project project) 在 System.Data.Entity.Migrations.MigrationsDomainCommand.GetFacade(String configurationTypeName, Boolean useContextWorkingDirectory) 在 System.Data.Entity.Migrations.EnableMigrationsCommand.FindContextToEnable(String contextTypeName) 在 System.Data.Entity.Migrations.EnableMigrationsCommand.<>c__DisplayClass2.<.ctor>b__0() 在 System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action command) 未将对象引用设置到对象的实例。
于是啊,我就找原因啊,我找啊找,还真找到了。
原来:是因为我之前设置了另一个项目为启动项目,而非 命令中的 BJYLOnlineServ 这个项目,所以就报出这个错误了。。。流汉啊。。。,以后一定要注意了啊!
所以就记下来,以方便自己查阅,也给可能碰到这种问题的大家,提供一个解决方法,呵呵!
标签:
原文地址:http://www.cnblogs.com/xufang775/p/4468639.html