将Unity.Abstractions从2.3.1升级到4.1.2后,我们使用Resolve()
在ParameterOverrides
上收到以下运行时错误。
通过此次升级,我们更改了以下代码:
T ret = default(T);
ret = this.Container.Resolve<T>(new ParameterOverrides { { key, value } });
return ret;
并使其如下所示:
T ret = default(T);
ret = this.Container.Resolve<T>(new ParameterOverride(key, value));
return ret;
我们收到如下错误:
Unity.ResolutionFailedException
HResult=0x80131500
Message=For more information add Diagnostic extension: Container.AddExtension(new Diagnostic())
Source=Unity.Container
StackTrace:
at Unity.UnityContainer.<>c.<.ctor>b__58_1(BuilderContext& context)
at Unity.UnityContainer.Unity.IUnityContainer.Resolve(Type type, String name, ResolverOverride[] overrides)
at Unity.UnityContainerExtensions.Resolve[T](IUnityContainer container, ResolverOverride[] overrides)
Inner Exception 1:
InvalidOperationException: Failed to select a constructor for MyClassName