# Fehlende Sekundärsprachen-Dateien bei ClickOnce-Veröffentlichungen
Eine .NET 8.0 Konsolenanwendung, die IronOCR mit einem Sekundärsprachpaket (Spanisch, Japanisch usw.) verwendet, läuft innerhalb von Visual Studio einwandfrei, aber beim Lauf mit ClickOnce nach Veröffentlichung gibt es Fehler. Die Sprachdatendateien gelangen nie in das Veröffentlichungs-Output.
```txt
IronOcr.Exceptions.LanguagePackException:
Please install the NuGet Package IronOcr.Languages.Spanish...
Error: 'The file Spanish.ocrdata was not found'
```
ClickOnce veröffentlicht nur, was es explizit weiß. Sekundärsprachige `.ocrdata` Dateien werden nicht automatisch erkannt oder gebündelt, daher werden sie beim Deployment stillschweigend weggelassen, obwohl das Paket installiert ist.
## Lösung
Markieren Sie die Sprachpaketdateien zur Veröffentlichung, damit ClickOnce sie in die Bereitstellung überträgt. Wählen Sie die Option, die zu Ihrem Projekt passt.
### Option 1: Markieren Sie jede Datei als Inhalt
Finden Sie die `.ocrdata` Dateien in Ihrem Build-Ausgabeordner, üblicherweise:
```txt
bin\Debug\net8.0\OcrData
```
Für jede Datei im `OcrData` Ordner setzen Sie:
- **Build Action:** `Content`
- **In Ausgabeverzeichnis kopieren:** `Copy if newer`
Das kopiert die Dateien in den Build-Ordner und zieht sie in den ClickOnce Veröffentlichungsprozess.
### Option 2: Einschließen in das `.csproj`
Wenn der Ordner automatisch generiert oder groß ist, bearbeiten Sie das `.csproj`, um jede `.ocrdata` Datei rekursiv einzuschließen, anstatt jede einzeln in der UI zu verwalten:
```xml
<ItemGroup>
<Content Include="OcrData\**\*">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
```
Das Glob hält die neuen Sprachdateien synchron, ohne die Projektreferenzen zu berühren, wann immer sich der Ordner ändert.
Eine .NET 8.0 Konsolenanwendung, die IronOCR mit einem Sekundärsprachpaket (Spanisch, Japanisch usw.) verwendet, läuft innerhalb von Visual Studio einwandfrei, aber beim Lauf mit ClickOnce nach Veröffentlichung gibt es Fehler. Die Sprachdatendateien gelangen nie in das Veröffentlichungs-Output.
IronOcr.Exceptions.LanguagePackException:Please install the NuGet Package IronOcr.Languages.Spanish...Error: 'The file Spanish.ocrdata was not found'
IronOcr.Exceptions.LanguagePackException:
Please install the NuGet Package IronOcr.Languages.Spanish...
Error: 'The file Spanish.ocrdata was not found'
Text
ClickOnce veröffentlicht nur, was es explizit weiß. Sekundärsprachige .ocrdata Dateien werden nicht automatisch erkannt oder gebündelt, daher werden sie beim Deployment stillschweigend weggelassen, obwohl das Paket installiert ist.
Lösung
Markieren Sie die Sprachpaketdateien zur Veröffentlichung, damit ClickOnce sie in die Bereitstellung überträgt. Wählen Sie die Option, die zu Ihrem Projekt passt.
Option 1: Markieren Sie jede Datei als Inhalt
Finden Sie die .ocrdata Dateien in Ihrem Build-Ausgabeordner, üblicherweise:
bin\Debug\net8.0\OcrData
bin\Debug\net8.0\OcrData
Text
Für jede Datei im OcrData Ordner setzen Sie:
Build Action:Content
In Ausgabeverzeichnis kopieren:Copy if newer
Das kopiert die Dateien in den Build-Ordner und zieht sie in den ClickOnce Veröffentlichungsprozess.
Option 2: Einschließen in das .csproj
Wenn der Ordner automatisch generiert oder groß ist, bearbeiten Sie das .csproj, um jede .ocrdata Datei rekursiv einzuschließen, anstatt jede einzeln in der UI zu verwalten:
Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.