首页 > 解决方案 > Autofac试图加载不相关的类

问题描述

我将 nopCommerce 从 4.30 版本升级到最新版本 4.40.3 我有三个插件在 4.30 版本中运行良好,但在最新版本中无法运行。我已经更新了所有随着最新版本的更新而改变的相关代码,并且一切都在编译,没有任何问题。

但是当我尝试在新版本中安装这些插件之一时,我收到以下错误消息:

Autofac.Core.Activators.Reflection.NoConstructorsFoundException:'没有为类型'System.DirectoryServices.ActiveDirecory.DomainController'找到可访问的构造函数。'

在 Autofac.Core.Activators.Reflection.DefaultConstructorFinder.GetDefaultPublicConstructors(Type type) 在 Autofac.Core.Activators.Reflection.DefaultConstructorFinder.FindConstructors(Type targetType) 在 Autofac.Core.Activators.Reflection.ReflectionActivator.ConfigurePipeline(IComponentRegistryServices componentRegistryServices, IResolvePipelineBuilder pipelineBuilder ) Autofac.Core.Registration.ComponentRegistration.BuildResolvePipeline(IComponentRegistryServices registryServices, IResolvePipelineBuilder pipelineBuilder) 在 Autofac.Core.Registration.ComponentRegistration.BuildResolvePipeline(IComponentRegistryServices registryServices) 在 Autofac.Core.Registration.ComponentRegistryBuilder.Build() 在 Autofac.ContainerBuilder.Build (ContainerBuildOptions 选项)位于 Autofac.Extensions.DependencyInjection.AutofacServiceProviderFactory。Microsoft.Extensions.Hosting.Internal.ServiceFactoryAdapter 的 CreateServiceProvider(ContainerBuilder containerBuilder)`1.CreateServiceProvider(Object containerBuilder) 在 Microsoft.Extensions.Hosting.HostBuilder.CreateServiceProvider() 在 Microsoft.Extensions.Hosting.HostBuilder.Build() 在 Nop。 C:\Git\Webentwicklung\NopCommerce\Presentation\Nop.Web\Program.cs: 16 行中的 Web.Program.d__0.MoveNext()

DomainController类来自System.DirectoryServices包,因此我无法直接更改此特定类的任何内容。这个 dll 正在加载,因为我的一个插件引用了一个安装了这个包的 dll。

该插件可以毫无问题地安装,并且与之前使用 Autofac 的版本具有相同的配置。

在 nopCommerce 内部,我不需要此软件包提供的任何功能。

所以我的问题如下:是否有可能告诉 Autofac 忽略这个程序集或这个特定的类?

任何帮助,将不胜感激。

标签: c#autofacnopcommerce

解决方案


推荐阅读