ClickOnceの発行でのセカンダリ言語ファイルの欠如

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronOCRをセカンダリ言語パック(スペイン語、日本語など)とともに使用する .NET 8.0 コンソールアプリはVisual Studio内で正常に動作しますが、ClickOnceで発行すると実行時にエラーが発生します。 言語データファイルは発行出力に入りません。

IronOcr.Exceptions.LanguagePackException:
Please install the NuGet Package IronOcr.Languages.Spanish...
Error: 'The file Spanish.ocrdata was not found'

ClickOnceはそれ自身が認識しているものだけを発行します。 セカンダリ言語.ocrdataファイルは自動的には認識またはバンドルされず、パッケージがインストールされているにもかかわらずデプロイメントから静かに除外されます。

解決策

言語パックファイルを発行するためにマークし、ClickOnceがそれらをデプロイメントに含むようにします。 お使いのプロジェクトに適したオプションを選択してください。

オプション1: 各ファイルをコンテンツとしてマークする

通常はビルド出力にある.ocrdataファイルを探します:

bin\Debug\net8.0\OcrData

OcrDataフォルダー内の各ファイルに対して以下を設定します:

  • ビルドアクション: Content
  • 出力ディレクトリへコピー: Copy if newer

それによりファイルがビルドフォルダーにコピーされ、ClickOnceの発行プロセスに取り込まれます。

オプション2: .csprojに含める

フォルダーが自動生成されたり大きい場合は、各ファイルをUIで管理する代わりに.ocrdataファイルを再帰的に取得します:

<ItemGroup>
  <Content Include="OcrData\**\*">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </Content>
</ItemGroup>
<ItemGroup>
  <Content Include="OcrData\**\*">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </Content>
</ItemGroup>
XML

globは、フォルダーが変更されるたびにプロジェクト参照に触れずに新しい言語ファイルを同期させ続けます。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 6,136,090 | バージョン: 2026.7 リリースされたばかり
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronOcr
サンプルを実行 あなたの画像が検索可能なテキストになるのをご覧ください。