dotnetcoreからCognitiveServiceを利用する

既存の.net framework向けCognitive ServicesのSDK(Nugetに上がってるProjectOxford的な奴)ってdotnetcoreで使えないみたいですね。

実行しようとするとこのようなエラーがでます。

System.IO.FileNotFoundException: Could not load file or assembly ‘System.Net, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes’. The system cannot find the file specified.

System.Net(2.0.5.0)のアセンブリが無いと言われてるようですがdotnetcoreには該当アセンブリがないのだろうか(おってなかったのでわからない)*1

ProjectOxfordのSDKはオープンソースではないはずなのでソースをいじれないことには対応ができないわけで、直接RESTでAPIを叩こうかとも思ったんですけどすでに公式でCognitiveServiceのDotnetCore向けのSDKがオープンソースで公開されていました。

https://github.com/search?utf8=%E2%9C%93&q=org%3AMicrosoft+cognitive+core&type=

親切なことにNugetにも公開済み。後ろにDotNetCoreが付いているものが該当SDKとなります

ということで.csprojを編集してNugetライブラリの指定を変えます。

あとはdotnet restoreでok

 

*1 社員の方曰く互換性はほとんどないようです。おとなしくコンパイルしなおしましょうということですね

 




No Comments


You can leave the first : )



Leave a Reply

Your email address will not be published. Required fields are marked *