C# Unity-解析依赖项将返回错误
我已经看到了几个关于这个问题的问题和答案,但找不到一个能让我解决这个问题的答案 该项目是一个C#NET项目 我得到的错误是:C# Unity-解析依赖项将返回错误,c#,dependency-injection,unity-container,C#,Dependency Injection,Unity Container,我已经看到了几个关于这个问题的问题和答案,但找不到一个能让我解决这个问题的答案 该项目是一个C#NET项目 我得到的错误是: “InvalidOperationException-MyTypeName类型有多个长度为2的构造函数。无法消除歧义。” 当然,有几个构造函数接受2个参数,但在同一个项目中有几个类似的类,它们都有这些构造函数(相同的原型-当然名称不同) 我添加的新类具有与其他类相同的签名的构造函数,但由于某种原因,在解析此类时,我得到了上述错误 我总是能够正确地配置unity并对其进行调
“InvalidOperationException-MyTypeName类型有多个长度为2的构造函数。无法消除歧义。”
当然,有几个构造函数接受2个参数,但在同一个项目中有几个类似的类,它们都有这些构造函数(相同的原型-当然名称不同)
我添加的新类具有与其他类相同的签名的构造函数,但由于某种原因,在解析此类时,我得到了上述错误
我总是能够正确地配置unity并对其进行调试,但这次我不知所措
我应该去哪里看
编辑:
下面是类构造函数。整个课程相当大,所以我只想发布相关部分:
public CategorizationServiceProxy() {
}
public CategorizationServiceProxy(string endpointConfigurationName) :
base(endpointConfigurationName) {
}
public CategorizationServiceProxy(string endpointConfigurationName, string remoteAddress) :
base(endpointConfigurationName, remoteAddress) {
}
public CategorizationServiceProxy(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
base(endpointConfigurationName, remoteAddress) {
}
public CategorizationServiceProxy(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
base(binding, remoteAddress) {
}
另一次编辑:
这是上面这个类的统一配置。
还有9个其他类,它们的配置方式完全相同,并且它们都正确实例化
<register
type="SA.Contracts.CategorizationService.ICategorizationService, SA.Contracts, PublicKeyToken=5021cc32571ca775"
mapTo="SA.Service.Categorization.CategorizationServiceImpl, SA.Service.Categorization, PublicKeyToken=5021cc32571ca775" >
<lifetime type="singleton" />
</register>
谢谢。其他类是否有参数多于2的构造函数?这似乎是在说什么:也许你的新类没有一个构造函数,比如说,接受3个参数。。。以前的课程也一样。或者unity明确告诉我们哪个2参数构造函数。您应该发布该类的代码,这将非常有帮助。谢谢。我已经添加了类构造函数。@PeterK.-这很奇怪——所有的类都有完全相同的构造函数,它们在unity中的配置也很相似。unity.config中没有为任何类指定构造函数。您的一个构造函数必须具有InjectionConstructor属性才能删除歧义。