EF 6基于代码的迁移异常:Microsoft.VisualStudio.Data.Tools.Package不可序列化? [英] EF 6 Code based migration exception: Microsoft.VisualStudio.Data.Tools.Package not serializable?
问题描述
我有这个配置
internal sealed class Configuration :DbMigrationsConfiguration<IAS.Models.ApplicationDbContext> {
public Configuration() {
AutomaticMigrationsEnabled = false;
ContextKey = "IAS.Models.ApplicationDbContext";
}
protected override void Seed( IAS.Models.ApplicationDbContext context ) {
var baseDir = AppDomain.CurrentDomain.BaseDirectory;
context.Database.ExecuteSqlCommand(File.ReadAllText(baseDir + "\\MyInsertScriptsql"));
}
}
当运行upate-dataabase我得到以下异常
when running upate-dataabase i get the following exception
Excepciónal llamar aSetDatacon los argumentos2:El tipo
Microsoft.VisualStudio.Data.Tools .Package.Internal.OAProject'del
ensamblado'Microsoft.VisualStudio.Data.Tools.Pa ckage,
Version = 11.1.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'no
estámarcado como serializable。 En D:\Dev\Insuranse高级
服务\IAS\packages\EntityFramework.6.0.0\tools\EntityFramework.psm1:
611Carácter:20
+ $ domain.SetData<<<< ('startUpProject',$ startUpProject)
+ CategoryInfo:NotSpecified:(:) [],MethodInvocationException
+ FullyQualifiedErrorId:DotNetMethodException System.NullReferenceException:引用一个objeto no establecida como
instancia de un objeto 。 en
System.Data.Entity.Migrations.Extensions.ProjectExtensions.GetProjectTypes(Project
project,Int32 shellVersion)en
System.Data.Entity.Migrations.Extensions.ProjectExtensions.IsWebProject(Project
project)en
System.Data.Entity.Migrations.MigrationsDomainCommand.GetFacade(String
configurationTypeName,Boolean useContextWorkingDirectory)en
System.Data.Entity.Migrations.UpdateDatabaseCommand。<> c_ DisplayClass2。< .ctor> b _0()
en
System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action
command)引用objeto
Excepción al llamar a "SetData" con los argumentos "2": "El tipo 'Microsoft.VisualStudio.Data.Tools.Package.Internal.OAProject' del ensamblado 'Microsoft.VisualStudio.Data.Tools.Pa ckage, Version=11.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' no está marcado como serializable." En D:\Dev\Insuranse Advanced Services\IAS\packages\EntityFramework.6.0.0\tools\EntityFramework.psm1: 611 Carácter: 20 + $domain.SetData <<<< ('startUpProject', $startUpProject) + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : DotNetMethodException System.NullReferenceException: Referencia a objeto no establecida como instancia de un objeto. en System.Data.Entity.Migrations.Extensions.ProjectExtensions.GetProjectTypes(Project project, Int32 shellVersion) en System.Data.Entity.Migrations.Extensions.ProjectExtensions.IsWebProject(Project project) en System.Data.Entity.Migrations.MigrationsDomainCommand.GetFacade(String configurationTypeName, Boolean useContextWorkingDirectory) en System.Data.Entity.Migrations.UpdateDatabaseCommand.<>c_DisplayClass2.<.ctor>b_0() en System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action command) Referencia a objeto no establecida como instancia de un objeto.
推荐答案
问题解决了,我打开了文件
..\packages\EntityFramework.6.0.0\tools\EntityFramework.psm和第611行说明:
Problem solved, i opened the file ..\packages\EntityFramework.6.0.0\tools\EntityFramework.psm and the line 611 states:
$domain.SetData('startUpProject', $startUpProject)
我检查我的解决方案后,我发现启动项目已经更改为数据库项目,更正了这一点,问题已经消失了。
I them after review my solution I found that the startup project was changed to the Database project, corrected this and the problem was gone.
这篇关于EF 6基于代码的迁移异常:Microsoft.VisualStudio.Data.Tools.Package不可序列化?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!