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 不会出现编译错误:

UnityWCF page at nuget