ClickOnce發布中缺少次要語言檔案

Curtis Chau
Curtis Chau
Updated: 2026年6月29日

.NET 8.0的控制台應用程式使用IronOCR與次要語言包(西班牙語、日語等)在Visual Studio中運行正常,但一旦使用ClickOnce發布後,運行時出現錯誤。 語言資料檔案從未進入發布輸出結果。

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

ClickOnce僅發布其明確知道的內容。 次要語言.ocrdata檔案無法被自動識別或捆綁,因此即使已安裝套件,這些檔案仍會在部署中默默地被刪除。

解決方案

將語言包檔案標記為需發布,讓ClickOnce將其攜帶進部署中。 選擇適合專案的任何選項。

選項1:將每個檔案標記為內容

在您的構建輸出中找到.ocrdata檔案,一般為:

bin\Debug\net8.0\OcrData
Text

對於OcrData資料夾中的每個檔案,設定:

  • 建置動作: Content
  • 複製到輸出目錄: Copy if newer

這樣就可以將檔案複製到構建資料夾,並將其納入ClickOnce發布過程中。

選項2:將其納入.csproj中

當資料夾是自動生成或較大時,編輯.ocrdata檔案,而不是在UI中管理每個檔案:

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

當資料夾更改時,通配符能保持新語言檔案同步而無需更改專案引用。

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

閱讀更多

準備開始了嗎?

Nuget Downloads 6,357,159版本:2026.11剛剛發布