ServiceHostFactory отсутствует в .NET 4.0? - PullRequest
23 голосов
/ 31 августа 2010

Это сводит меня с ума, может быть, я что-то упускаю, но я пытаюсь обновить приложение .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» не существует (он красный).Зайдя в Object Browser, под System.ServiceModel.Activation, он действительно не показывает ServiceHostFactory.

В соответствии с этим:

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

Это должно поддерживаться в 4.0.Что мне здесь не хватает?

1 Ответ

35 голосов
/ 31 августа 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...