C# Unity.Wcf/未实现继承的抽象成员,也未找到可重写的合适方法
此类是NUGET在安装Unity.Wcf后生成的C# Unity.Wcf/未实现继承的抽象成员,也未找到可重写的合适方法,c#,wcf,inheritance,nuget,unity-container,C#,Wcf,Inheritance,Nuget,Unity Container,此类是NUGET在安装Unity.Wcf后生成的 public class WcfServiceFactory : UnityServiceHostFactory { protected override void ConfigureContainer(IUnityContainer container) { // register all your components with the container here
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());
}
}
不知怎的,我一直在犯以下两个错误:
“ServiceImplementation2.WcfServiceFactory”未实现
继承的抽象成员
'Unity.Wcf.UnityServiceHostFactory.ConfigureContainer(Microsoft.Practices.Unity.IUnityContainer)'
及
'ServiceImplementation2.WcfServiceFactory.ConfigureContainer(Microsoft.Practices.Unity.IUnityContainer)':
找不到可重写的合适方法
参数没有差别
甚至自动生成方法也会让我出错
我使用的是VisualStudio2013。我在使用Unity 4.0.1时遇到了相同的问题,但在降级到Unity 3.5.1404后,该问题消失了。在我看来,Wcf与4.0.1不兼容 要安装unity 3.5版 安装Unity软件包-版本3.5.1404
希望有帮助。您可以升级Unity.Wcf,而不是降级Microsoft.Practices.Unity。我猜您正在使用Unity.wcf1.0.0。使用此版本的Unity.Wcf不会出现编译错误:
您好,这真是妙招!我卸载了Unity.Wcf,然后卸载了Unity,然后重新安装了它们。非常感谢你!我们鼓励链接到外部资源,但请在链接周围添加上下文,以便您的其他用户了解它是什么以及为什么存在。始终引用重要链接的最相关部分,以防目标站点无法访问或永久脱机。很抱歉,现在已记录了链接。有两个版本的软件包有助于将Unity与WCF集成。一个称为,自2012年以来未更新,另一个上次更新是在2016年。我证实了Roath So的方法是有效的。然而,为什么要降级到以前版本的Unity!我还验证了UnityWCF在最新版本的4.0.1(2014年4月更新)中运行良好。我建议使用@Ole建议的方法。
public abstract class UnityServiceHostFactory : ServiceHostFactory
{
protected UnityServiceHostFactory();
protected abstract void ConfigureContainer(IUnityContainer container);
protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses);
}