Возможно заставить System.Speech.Recognition работать на Windows Server 2008, предполагая, что у вас есть рабочая машина для копирования.Я попробовал кучу разных вещей, которые не сработали, а затем несколько страшных шагов, которые сработали.Я не знаю наверняка, какие из них необходимы, но последний набор шагов определенно был необходим.
Вот список вещей, которые не работали, но, возможно, были предпосылками для того, что сработало:
- Установленная среда выполнения Microsoft Speech Platform по этой ссылке https://www.microsoft.com/en-us/download/details.aspx?id=27225
- Установленный англо-американский языковой пакет MSSpeech_SR_en-US_TELE.msi отсюда https://www.microsoft.com/en-us/download/details.aspx?id=27224
- Установлено "Microsoft Speech Platform - Языки исполнения сервера (версия 10.1) ", файл LangPacks \ MSSpeech_SR_en-US_TELE.msi отсюда: https://www.microsoft.com/en-us/download/details.aspx?id=3971
- Установил функцию« Desktop Experience », используя следующие инструкции:
- Запустите диспетчер серверов (в меню «Пуск» выберите «Управление сервером»).
- В области сведений найдите область Сводная информация о компонентах и нажмите кнопку Добавить компоненты.
- В мастере добавления компонентов выберитещелкните, чтобы установить флажок Desktop Experience, а затем нажмите Next.
- Нажмите Install.
- После установки функции Desktop Experienceзатем нажмите «Закрыть», чтобы выйти из мастера добавления компонентов, а затем нажмите «Да», чтобы перезагрузить компьютер.
Ничего из этого не помогло, поэтому в итоге мы вручную установили необходимые файлы.и настройки реестра, используя процесс, описанный ниже, адаптированный с https://groups.google.com/forum/#!topic/microsoft.public.speech_tech.sdk/YV_OcL0Boh0
. Для этого требовался работающий компьютер (мой компьютер с Windows 7), с которого нужно копировать файлы и параметры реестра.В приведенных ниже инструкциях я пытался установить определенный распознаватель, который, как я знал, работал на моей машине, MS-1033-80-DESK.Если вы используете другой распознаватель, вам могут потребоваться другие шаги.Вы можете увидеть установленные распознаватели на вашем компьютере, используя SpeechRecognitionEngine.InstalledRecognizers () API.
- Не перезаписывая существующие файлы (только добавляйте отсутствующие файлы, если будет предложено), скопируйте файлы с вашего рабочего C: \ Windows \ Speechпапку в папку на сервере.Возможно, вам придется вступить во владение этой папкой на сервере и предоставить себе разрешения на добавление папок и файлов.
- Не перезаписывая существующие файлы (добавляйте только отсутствующие файлы, если будет предложено), копируйте файлы с вашего рабочего C: \ Windows\ System32 \ Речь в папке сервера.Возможно, вам снова понадобятся разрешения.
- Последний шаг очень болезненный.Вам необходимо скопировать все соответствующие настройки реестра на сервер.Я скопировал настройки реестра только из основных папок HKEY_LOCAL_MACHINE и HKEY_CLASSES_ROOT.Я создал файл .reg, который вставил ниже, выполнив поиск в реестре записей, связанных с: MS-1033-80-DESK, {DAC9F469-0C67-4643-9258-87EC128C5941}, spsreng, spsrx, srloc (кроме записей в HKEY_LOCAL_MACHINE \Компоненты \ DerivedData \ Компоненты не были включены) Это имя распознавателя, идентификатор класса механизма распознавания и dll, связанные с распознавателем.Я не знаю, можете ли вы использовать мои настройки реестра или создавать свои собственные.Файл реестра, который я создал и импортировал в реестр на моем сервере, находится здесь: https://pastebin.com/4w05SbbY
Stackoverflow не позволит мне опубликовать ссылку на вставку без кода, и моя ссылка слишком большая для включения сюданапрямую, так что
fakeCode = 1;