ClickOnce發布中缺少次要語言檔案
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熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。
...
閱讀更多