Метод не найден: 'System.IServiceProvider Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider'

В моем основном методе приложения.net Core я получаю эту ошибку, и я не знаю, где искать решение.

это мой основной метод:

 public static void Main(string[] args)
    {
        var host = new WebHostBuilder()
            .UseKestrel()
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseStartup<Startup>()
            .UseApplicationInsights()
            .Build();

        host.Run();
    }

Это сообщение об ошибке, которое я получаю при нажатии F5 для запуска проекта:

System.MissingMethodException: 'Method not found: 'System.IServiceProvider Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider(Microsoft.Extensions.DependencyInjection.IServiceCollection)'.'

6 ответов

Решение

Выпущен пакет обновления ApplicationInsights до версии 1.1.2 с 2.0

Я только что столкнулся с этой проблемой, используя Aspnet Core 2.0, в моем случае обновление других пакетов по умолчанию (AspNetCore, AspNetCore.Mvc, NetCore.App) до версии 2.0 добилось цели, несмотря на установку пакетов 2.0 (кроме понимания приложений) 1.1.x изначально

Если вы используете Microsoft.AspNet.OData, эта ошибка возникает, начиная с версии NuGet 7.5.15 и выше. Переход на версию 7.5.14 может решить эту проблему.

Для .NET Core 3.1 по какой-то причине Visual Studio не давала мне подсказки, что мне нужно добавить using Microsoft.Extensions.DependencyInjection;. Ручное добавление, которое исправило это для меня.

У меня была похожая проблема при использовании Sql nuget и обновлении, которое исправило проблему.

IDbContextFactory должен был быть изменен на IDesignTimeDbContextFactory

Я также столкнулся с этой ошибкой с Microsoft.AspNet.OData версии 7.5.17, и переход на версию 7.5.14 устранил эту ошибку.

Другие вопросы по тегам