Подтвердить что ты не робот

ServiceHostFactory отсутствует в .NET 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. Что мне здесь не хватает?

4b9b3361

Ответ 1

В System.ServiceModel.dll есть некоторые элементы в пространстве имен System.ServiceModel.Activation.

Однако ServiceHostFactory находится в самой System.ServiceModel.Activation.dll. Поэтому вам нужно добавить ссылку на эту сборку. Имейте в виду, что по умолчанию VS2010, похоже, хочет использовать профиль клиента .NET 4, поэтому вам нужно будет изменить его на обычный профиль .NET 4, прежде чем вы сможете добавить ссылку на System.ServiceModel.Activation.