Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架4.3迁移错误_C#_Entity Framework_Entity Framework 4 - Fatal编程技术网

C# 实体框架4.3迁移错误

C# 实体框架4.3迁移错误,c#,entity-framework,entity-framework-4,C#,Entity Framework,Entity Framework 4,我刚刚为迁移安装了EF 4.3-beta1,但我无法让它工作。我得到的错误是: PM> Update-Database -Verbose Using NuGet project 'Project.Domain'. Using StartUp project 'ProjectWebSite'. System.InvalidOperationException: No migrations configuration type was found in the assembly 'Projec

我刚刚为迁移安装了EF 4.3-beta1,但我无法让它工作。我得到的错误是:

PM> Update-Database -Verbose
Using NuGet project 'Project.Domain'.
Using StartUp project 'ProjectWebSite'.
System.InvalidOperationException: No migrations configuration type was found in the assembly 'Project.Domain'.
   at System.Data.Entity.Migrations.Design.ToolingFacade.BaseRunner.FindConfiguration()
   at System.Data.Entity.Migrations.Design.ToolingFacade.BaseRunner.GetMigrator()
   at System.Data.Entity.Migrations.Design.ToolingFacade.UpdateRunner.RunCore()
   at System.Data.Entity.Migrations.Design.ToolingFacade.BaseRunner.Run()
No migrations configuration type was found in the assembly 'Project.Domain'.
我在2个EF类中添加了一个新列:

public class MasterInstance
{
    public int MasterInstanceId { get; set; }
    [Required] public string HostName { get; set; }
    [Required] public string Name { get; set; } /* <-- THIS IS NEW */
    [Required] public string ConnectionString { get; set; }
    public virtual ICollection<MasterInstanceLocation> MasterInstanceLocations { get; set; }
}
公共类主实例
{
public int MasterInstanceId{get;set;}
[必需]公共字符串主机名{get;set;}

[必需]找到公共字符串名称{get;set;}/*解决方案。事实证明,您需要为项目启用迁移。您可以通过在NuGet控制台中运行
启用迁移来实现这一点(确保您选择了正确的项目-对我来说,这是project.domain项目)


提供详细信息

有时,即使启用了迁移,也可能出现此问题。这意味着配置文件已被删除。在这种情况下,您可以运行

Enable-Migrations -Force 

在包管理器控制台中。
-Force
参数用于覆盖迁移配置文件。

如果您已经启用了迁移,并且在一些windows更新后才开始看到此错误,请确保在使用NuGet包管理器的所有项目中使用相同版本的Entity Framework

最近的windows更新可能已将较新版本的Entity Framework安装到活动项目中

背景:2016年3月16日左右,当我尝试将迁移添加到一个项目时,我开始出现“no migrations configuration type”(无迁移配置类型)错误,在此之前,我已经启用了迁移,并且成功地完成了迁移

我注意到大约在3月10日,EntityFramework6的一个新的稳定版本发布了

如果在enable migrations命令中指定了-ContextTypeName参数,则会出现一个错误,表明迁移已启用

我在进行故障排除时遇到的另一个错误表明配置类型不是从System.Data.Entity.ModelConfiguration.EntityTypeConfiguration继承的,即使它是

这让我相信实体框架的不同版本是相互冲突的

决议:

1) 工具->Nuget软件包管理器->管理解决方案的Nuget软件包

2) (不确定是否有必要执行此步骤,但…)我已将Nuget Package Manager的版本更新为最新版本。此外,在更新Nuget Package Manager的版本后,我必须重新启动Visual Studio两次,Nuget命令行才能正常工作

3) 工具->Nuget软件包管理器->管理解决方案的Nuget软件包->搜索已安装的软件包->键入实体框架

a、 您可能会看到实体框架的多个版本

b、 在每个版本的Entity Framework上单击“管理”,并确保您的项目使用相同版本的Entity Framework。 •取消选中您未使用的实体框架版本,对于您正在使用的实体框架版本,请确保在需要它的项目中选中它

同样,如步骤2所述,在更新我的NuGet Package Manager版本后,我必须重新启动visual studio两次,以使NuGet Package Manager控制台正常工作。我第一次启动控制台时出错,并且“使用8个参数调用createinstancefrom时出现异常无法加载文件或程序集EntityFramework”第二次运行enable migrations命令时


然而,重新启动visual studio似乎可以解决这些问题。

对我来说,发生此错误是因为我在Package Manager控制台的“默认项目”中选择了错误的项目在VS2019中。

即使启用了迁移,如果在软件包管理器控制台的下拉菜单中选择了不正确的默认项目,也可能发生所述行为。非图形化的方法是展开正在使用的命令,并使用参数
指定正确的项目名称-项目名称

Update-Database -Verbose -ProjectName TheCorrectProjectName
你可能还会收到类似这样的警告

无法确定有效的启动项目。请改用项目“TheCorrectProjectName”。可能未按预期设置配置文件和工作目录。请使用-StartUpProjectName参数显式设置一个


不过,这个额外的命令行参数为我解决了这个问题。

你的问题是在程序集中找不到迁移配置类型的Google搜索结果。这是测试版软件,但仍然非常新。我也会尝试在MSDN论坛上发布。好的呼叫->确保你选择了正确的项目这是my问题。请确保选择了正确的项目。我将添加到“不使用
添加迁移”
。只需启用它们并运行项目即可。
Update-Database -Verbose -ProjectName TheCorrectProjectName