C# 对象不包含';xxx';-微软教程

C# 对象不包含';xxx';-微软教程,c#,asp.net-core,entity-framework-core,C#,Asp.net Core,Entity Framework Core,下面是微软网站上的ASP.Net核心教程:“在ASP.Net MVC web应用程序中开始使用实体框架核心” 本教程建议我在Program.cs文件中输入以下代码,以便在应用程序启动时对数据库进行种子设定,然后在种子设定方法完成时处理上下文 public static void Main(string[] args) { var host = CreateWebHostBuilder(args).Build(); using (var scope = host.Service

下面是微软网站上的ASP.Net核心教程:“在ASP.Net MVC web应用程序中开始使用实体框架核心”

本教程建议我在Program.cs文件中输入以下代码,以便在应用程序启动时对数据库进行种子设定,然后在种子设定方法完成时处理上下文

public static void Main(string[] args)
{
     var host = CreateWebHostBuilder(args).Build();

    using (var scope = host.Services.CreateScope())
    {
        var services = scope.ServiceProvider;
        try
        {
            var context = services.GetRequiredService<SchoolContext>();
            DbInitializer.Initialize(context);
        }
        catch (Exception ex)
        {
            var logger = services.GetRequiredService<ILogger<Program>>();
            logger.LogError(ex, "An error occurred while seeding the database.");
        }
    }

    host.Run();
}
publicstaticvoidmain(字符串[]args)
{
var host=CreateWebHostBuilder(args.Build();
使用(var scope=host.Services.CreateScope())
{
var services=scope.ServiceProvider;
尝试
{
var context=services.GetRequiredService();
初始化(上下文);
}
捕获(例外情况除外)
{
var logger=services.GetRequiredService();
logger.LogError(例如,“对数据库进行种子设定时发生错误”);
}
}
host.Run();
}
但是,“Build”函数和“Initialize”函数都以红色突出显示-我收到错误消息“'object'不包含“Build”的定义,并且找不到可访问的扩展方法”,以及类似的初始化错误消息


这里是否缺少“using”子句,或者我确实应该包含的任何其他内容?

您可能缺少一个Nuget软件包-请检查以确认是否从Visual Studio上的Nuget软件包管理器安装了EFCore。如果未使用Visual Studio,则可以使用Package Manager CLI。您可以通过查看csproj文件(通常位于项目的根文件夹)来检查项目是否引用了EFCore

如果上述方法没有帮助,那么您很可能(很可能)缺少一个using语句。 比如:

使用Microsoft.EntityFrameworkCore


最后,您可能使用错误版本的.NET Core创建了项目,请按照上面@Camilo Terevinto的评论正确检查

您是否比较了ASP.NET Core(可能还有EF Core)您正在与教程中的版本一起使用的版本?您的asp.net core版本是什么?请共享您的
CreateWebHostBuilder
方法和
Initialize
方法好吗?