を使用する .Net Core 3.1 で Web API を作成しましたSystem.Speech
- これは .Net Core Nuget Package hereで実行されますが、API がライブラリを使用しているときに 500 エラーが発生します。
エラーの内容は次のようになります。
Connection id "0HMFHNV7NFO0R", Request id "0HMFHNV7NFO0R:00000010": An unhandled exception was thrown by the application.
System.UnauthorizedAccessException: Access is denied. (0x80070005 (E_ACCESSDENIED))
at System.Speech.Internal.SapiInterop.ISpRecognizer.SetRecognizer(ISpObjectToken pRecognizer)
...
at <Referenced project & method> in
C:\Users\<username>\...\...\....cs:line 23
これはSystem.Speechへの参照とは何の関係もないと思いますが、私のホスティング プロバイダーは次のように述べています。
System.Speech を .net Web アプリケーションで使用する場合、アプリケーション プール ID の LocalSystem が必要です。より良い解決策はありません。おそらく、プロジェクトで個別に機能する別の音声ライブラリを試すことができます。
これは論理的ですか、それとも.Net Coreパッケージであるため、完全に自己完結型であり、それを必要としませんか?
さらに重要なことに、このライブラリを使い続けることができるように修正する方法はありますか?
背景の詳細については、ここに投稿された他の質問も参照してください。