Microsoft.ProjectOxford.SpeechRecognition-x64 в .net Core - PullRequest
0 голосов
/ 01 февраля 2019

Я использовал распознавание динамиков в веб-приложении c # .net через пакет nuget Microsoft.ProjectOxford.SpeechRecognition.По некоторым причинам мне пришлось интегрировать Microsoft Speech в текст и перейти на ядро ​​.net.Теперь, когда я устанавливаю пакет Microsoft.ProjectOxford.SpeechRecognition-x64 на ядро ​​.net, он не обновляется.Есть ли какой-нибудь способ заставить его работать на ядре .net через пакет nuget, а не через API-вызовы самой службы?

1 Ответ

0 голосов
/ 02 февраля 2019

Пакет Microsoft.ProjectOxford.SpeechRecognition-x64 нацелен на использование .NetFramework 4.6.1, поэтому он не будет работать как есть, даже если есть способ добавить несколько целевых структур для одного проекта, как указано ниже

<PropertyGroup>
  <TargetFrameworks>net461;netcoreapp2.0</TargetFrameworks>
</PropertyGroup>

это не будет работать, потому что <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.9" /> не совместимо с 4.6.1

Вы можете попробовать что-то вроде этого.

Добавить еще один проект библиотеки .NetFramework в то же решение и сослаться на этот проектосновной проект.поэтому все функциональные возможности для фактического вызова методов распознавания речи из этого пакета nuget останутся в этом проекте библиотеки классов (необходимо добавить код для записи этих вспомогательных классов)

Файлы проекта и решения будут выглядеть следующим образом

** Файл проекта для проекта библиотеки классов на основе .NetStandard: **

  <PropertyGroup>
    <TargetFramework>net461</TargetFramework>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <PlatformTarget>x64</PlatformTarget>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.ProjectOxford.SpeechRecognition-x64" Version="1.0.0.7" />
  </ItemGroup>

</Project>

Файл проекта для основного проекта на основе проекта .netCore:

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <PlatformTarget>x64</PlatformTarget>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.9" />
  </ItemGroup>
  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.4" />
  </ItemGroup>
</Project>

Кроме этого, вам также нужно сослаться на проект библиотеки классов в этом основном проекте .netcore.щелкните правой кнопкой мыши проект .netcore -> Добавить -> Справка -> выберите проект библиотеки классов

Примечание : я пробовал только до этого момента и фактически не вызывал API распознавания речи.Сейчас попробую

...