Unity.Wcf / 没有实现继承的抽象成员并且没有找到合适的方法来覆盖
Unity.Wcf / does not implement inherited abstract member AND no suitable method found to override
这个class是NUGET安装后生成的Unity.Wcf
public class WcfServiceFactory : UnityServiceHostFactory
{
protected override void ConfigureContainer(IUnityContainer container)
{
// register all your components with the container here
// container
// .RegisterType<IService1, Service1>()
// .RegisterType<DataContext>(new HierarchicalLifetimeManager());
}
}
这是被继承的class:
public abstract class UnityServiceHostFactory : ServiceHostFactory
{
protected UnityServiceHostFactory();
protected abstract void ConfigureContainer(IUnityContainer container);
protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses);
}
不知何故,我不断收到这 2 个错误:
'ServiceImplementation2.WcfServiceFactory' does not implement
inherited abstract member
'Unity.Wcf.UnityServiceHostFactory.ConfigureContainer(Microsoft.Practices.Unity.IUnityContainer)'
和
'ServiceImplementation2.WcfServiceFactory.ConfigureContainer(Microsoft.Practices.Unity.IUnityContainer)':
no suitable method found to override
参数没有区别。
即使自动生成方法也会出错。
我正在使用 VisualStudio2013。
我在使用 Unity 4.0.1 时遇到了同样的问题,但降级到 Unity 3.5.1404 后问题消失了。在我看来 Unity.Wcf 不能很好地与 4.0.1.
一起使用
安装unity 3.5版本
安装包 Unity - 版本 3.5.1404
希望对您有所帮助。
您可以升级 Unity.Wcf,而不是降级 Microsoft.Practices.Unity。我猜你正在使用 Unity.Wcf 1.0.0。使用此版本的 Unity.Wcf 不会出现编译错误:
这个class是NUGET安装后生成的Unity.Wcf
public class WcfServiceFactory : UnityServiceHostFactory
{
protected override void ConfigureContainer(IUnityContainer container)
{
// register all your components with the container here
// container
// .RegisterType<IService1, Service1>()
// .RegisterType<DataContext>(new HierarchicalLifetimeManager());
}
}
这是被继承的class:
public abstract class UnityServiceHostFactory : ServiceHostFactory
{
protected UnityServiceHostFactory();
protected abstract void ConfigureContainer(IUnityContainer container);
protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses);
}
不知何故,我不断收到这 2 个错误:
'ServiceImplementation2.WcfServiceFactory' does not implement inherited abstract member 'Unity.Wcf.UnityServiceHostFactory.ConfigureContainer(Microsoft.Practices.Unity.IUnityContainer)'
和
'ServiceImplementation2.WcfServiceFactory.ConfigureContainer(Microsoft.Practices.Unity.IUnityContainer)': no suitable method found to override
参数没有区别。
即使自动生成方法也会出错。
我正在使用 VisualStudio2013。
我在使用 Unity 4.0.1 时遇到了同样的问题,但降级到 Unity 3.5.1404 后问题消失了。在我看来 Unity.Wcf 不能很好地与 4.0.1.
一起使用安装unity 3.5版本
安装包 Unity - 版本 3.5.1404
希望对您有所帮助。
您可以升级 Unity.Wcf,而不是降级 Microsoft.Practices.Unity。我猜你正在使用 Unity.Wcf 1.0.0。使用此版本的 Unity.Wcf 不会出现编译错误: