.NET 4.0中缺少ServiceHostFactory?

时间:2010-08-31 14:18:41

标签: .net .net-4.0 c#-4.0

这让我疯了,也许我错过了一些东西,但我正在尝试将.NET 3.5应用程序升级到.NET 4.0,而我遇到的唯一问题就是这个类:

3.5代码:

   public class ServiceHostFactory : System.ServiceModel.Activation.ServiceHostFactory
    {
        protected override System.ServiceModel.ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses) {
            return new ServiceHost(serviceType, baseAddresses);
        }
    }

当我升级到4.0时,似乎“ServiceHostFactory”不存在(它是红色)。进入对象浏览器,在System.ServiceModel.Activation下,它确实没有显示ServiceHostFactory。

根据这个:

http://msdn.microsoft.com/en-us/library/system.servicemodel.activation.servicehostfactory.aspx

应该在4.0中支持。我在这里缺少什么?

1 个答案:

答案 0 :(得分:35)

System.ServiceModel.dll在System.ServiceModel.Activation命名空间中有一些项目。

但是,ServiceHostFactory位于System.ServiceModel.Activation.dll本身。因此,您需要添加对该程序集的引用。请记住,默认情况下,VS2010似乎想要使用.NET 4 Client Profile,因此在添加对System.ServiceModel.Activation的引用之前,您需要将其更改为常规.NET 4配置文件。