Как запустить узел службы WCF в Visual Studio 2010 с пакетом обновления 1 (SP1) в среде выполнения .NET 3.5? - PullRequest
3 голосов
/ 30 августа 2011

Когда я создаю библиотеку служб WCF для целевой платформы .NET 3.5 в Visual Studio 2010 SP1, узел службы WCF загружает сборку .NET 3.5 в .NET Framework 4.0.30319.237 во время выполнения при отладке.

Поскольку я ссылаюсь на объектную модель сервера SharePoint 2010, мой код не может быть загружен в среду выполнения .NET 4, сборки SharePoint проверяют версию среды выполнения и в этом случае выдают исключение.

Хост службы WCF должен быть запущен в среде выполнения .NET версии 2.0.50727.5446 (то же самое для среды .NET 3.5). Кто-нибудь решил это?

Ответы [ 2 ]

0 голосов
/ 01 апреля 2015

Столкнувшись с той же проблемой, мы решили написать отдельное приложение ConsoleHost с целевым назначением .NET 3.5:

using System;
using System.ServiceModel;

namespace Project.Services.ConsoleHost
{
    class Program
    {
        static void Main(string[] args)
        {
            // Create the ServiceHost.
            using (ServiceHost host = new ServiceHost(typeof(ProjectServiceManager)))
            {
                // Open the ServiceHost to start listening for messages. Since
                // no endpoints are explicitly configured, the runtime will create
                // one endpoint per base address for each service contract implemented
                // by the service.
                host.Open();

                Console.WriteLine("The Project WCF Services are hosted at:");
                Console.WriteLine();
                foreach (var address in host.BaseAddresses)
                    Console.WriteLine(string.Format("\t{0}", address.ToString()));
                Console.WriteLine();
                Console.WriteLine("Press <Enter> to stop the service.");
                Console.ReadLine();

                // Close the ServiceHost.
                host.Close();
            }
        }
    }
}
0 голосов
/ 19 сентября 2011

Вы можете изменить некоторые настройки WcfSvcHost, чтобы иметь возможность запускать ваши сборки без исключения:

   <startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0" /> 
   </startup> 

Это необходимо добавить в файл конфигурации, расположенный по адресу: C: \ ProgramФайлы (x86) \ Microsoft Visual Studio \ 10.0 \ Common7 \ IDE \ WcfSvcHost.exe.config.

Для получения полной информации о данном решении перейдите по адресу: http://blogs.claritycon.com/bryandougherty/2011/05/24/handling-mixed-mode-assembly-error-in-wcf-service-host/

Пожалуйста, дайтеЯ знаю, если это работает для вас.

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