Не удалось преобразовать строку «Log4netFactory» в тип

Недавно я обновил пакеты ABP в своем проекте с помощью этой строки кода в консоли NuGet:

ForEach($project in get-project -all) {
 ForEach($package in Get-Package -ProjectName $project.ProjectName | ?{ $_.Id -like 'Abp*'}) {
  Update-Package -ProjectName $project.ProjectName -Id $package.Id;} }

Но когда я запускаю проект, я столкнулся с этой ошибкой:

Исключение типа «Castle.MicroKernel.SubSystems.Conversion.ConverterException» возникло в Castle.Windsor.dll, но не было обработано в пользовательском коде. Дополнительная информация: не удалось преобразовать строку «Castle.Services.Logging.Log4netIntegration.Log4netFactory,Castle.Services». .Logging.Log4netIntegration, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = 407dd0808d44fbdc' к типу.

Это происходит в этой строке кода в Application_Start:

AbpBootstrapper.IocManager.IocContainer.AddFacility<LoggingFacility>(
    f => f.UseLog4Net().WithConfig("log4net.config")
);

Как я могу решить эту проблему?


person omid talebi    schedule 06.08.2017    source источник


Ответы (2)


вы можете использовать пакет Abp.Castle.Log4Net. см. документ

person rqx110    schedule 07.08.2017

создайте эту функцию и вызовите ее из строки ошибки

    LogConfig("log4net.config");

   private void LogConfig(string configFileName)
    {
        var log4NetConfig = System.IO.Path.Combine(HostingEnvironment.ApplicationPhysicalPath, configFileName);
        if (System.IO.File.Exists(log4NetConfig))
            AbpBootstrapper.IocManager.IocContainer.AddFacility<LoggingFacility>(
                f => f.UseAbpLog4Net().WithConfig(log4NetConfig)
            );
    }

см. этот ответ https://github.com/aspnetboilerplate/aspnetboilerplate/issues/2611#issuecomment-337471760

person darklion    schedule 24.01.2018