Не удается установить «Активация WCF HTTP» в Windows Vista? - PullRequest
3 голосов
/ 10 сентября 2009

Это относится только к удаленной разработке, но в основном я хотел установить MS Azure SDK, который использует установленный IIS 7, ASP.Net, а также рабочую установку компонента «Активация HTTP WCF».

Теперь, следуя статье на MSDN , я всегда получаю следующую ошибку:

alt text

Кто-нибудь имеет представление, что мне не хватает или что мне делать? Сообщение об ошибке не очень самоочевидно, и я немного потерян здесь .. Версия программного обеспечения Vista - SP2, Visual Studio 2008 SP1 и .Net 3.5 SP1 также установлены ..

Обновление: Да, и Visual Studio 2010 / .Net 4 beta. Могут ли последующие иметь к этому какое-то отношение?

Есть идеи / предложения?

Ответы [ 3 ]

1 голос
/ 14 сентября 2009

Вот в чем дело: когда вы устанавливаете бета-версию .Net 4.0, она по какой-то причине перезаписывает по крайней мере один из ваших файлов .Net 3.0 (WCF), по крайней мере, в 64-битных системах, а именно

" c: \ windows \ microsoft.net \ framework64 \ v3.0 \ Windows Communication Foundation \ SMConfigInstaller.EXE ".

Итак, самое плохое в том, что с этой новой версией вы больше не сможете включить функцию «Активация WCF HTTP» в Vista и Win7 и, что еще хуже, удаление .Net 4 beta не восстанавливает оригинал версия.

Мех.

Таким образом, единственный ручной обходной путь - это взять в руки актуальную бета-версию pre .net 4 вышеупомянутой папки и восстановить файл (ы) вручную.

-J

0 голосов
/ 06 января 2010

ВНИМАНИЕ !!! Я хотел бы предостеречь от того, чтобы когда-нибудь возиться с файлами фреймворка вручную, как предложено выше, ... это просто напрашивается на неприятности.

У меня была похожая проблема, которую я теперь решил, не касаясь каких-либо файлов фреймворка.

Справочная информация. Я пытался запустить службу WCF, размещенную на IIS, с конечной точкой net.tcp в Windows 7. Я установил IIS после установки бета-версии VS2010. Хотя мой сервис работал по HTTP, когда мой клиент пытался подключиться по net.tcp, он получал совершенно нелепую ошибку: «Обнаружен FatalExecutionEngineError».

Я думаю, что возникла ошибка, потому что мой клиент WCF не смог подключиться к серверу. Обычно должно возникать исключение, связанное с соединением, но я подозреваю, что я получил фатальную ошибку, потому что мой запрос на обслуживание состоял из пользовательского сообщения с потоком.

В любом случае, я наконец заработал, и я считаю, что ключом было переустановить активацию WCF HTTP вместе с aspnet.

  1. Перейти к панели управления
  2. Нажмите на Программы и компоненты
  3. Нажмите, чтобы включить / выключить функции Windows
  4. Снимите флажок Microsoft.Net Framework 3.5.1 (и два варианта ниже)
  5. Нажмите OK, чтобы перезапустить
  6. Выполните шаги 1-3, затем проверьте все 3 варианта и перезапустите

Затем я зарегистрировал IIS, выполнив следующее (как администратор): % windir% \ Microsoft.NET \ Framework \ v4.0.21006 \ aspnet_regiis.exe -iru

Извините за длинную историю, но я хотел, чтобы все "ключевые слова" были там для Google, чтобы помочь другим людям, которые могут столкнуться с той же или подобной проблемой.

0 голосов
/ 10 сентября 2009

У меня была такая проблема, когда файл machine.config был поврежден; какой-то компонент в .NET изменил его и куда-то вставил нулевой байт. Если у вас установлен PowerShell, вы можете быстро проверить правильность конфигурации следующим образом:

[xml](gc $env:windir\Microsoft.NET\Framework\v2.0.50727\config\machine.config)

Он не сможет разобрать, если поврежден.

-Oisin

...