Archivos de Idiomas Secundarios Faltantes en Publicaciones ClickOnce

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

Una aplicación de consola .NET 8.0 que utiliza IronOCR con un paquete de idioma secundario (español, japonés, etc.) funciona bien dentro de Visual Studio pero falla en tiempo de ejecución una vez publicada con ClickOnce. Los archivos de datos de idioma nunca llegan a la salida de la publicación.

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

ClickOnce solo publica lo que conoce explícitamente. Los archivos de idioma secundario .ocrdata no se reconocen ni se agrupan automáticamente, por lo que se eliminan silenciosamente del despliegue incluso cuando el paquete está instalado.

Solución

Marque los archivos del paquete de idioma para la publicación, para que ClickOnce los incluya en el despliegue. Elija la opción que se ajuste a su proyecto.

Opción 1: Marcar Cada Archivo como Contenido

Localice los archivos .ocrdata en la salida de su compilación, típicamente:

bin\Debug\net8.0\OcrData

Para cada archivo dentro de la carpeta OcrData, configure:

  • Acción de compilación: Content
  • Copiar al directorio de salida: Copy if newer

Eso copia los archivos a la carpeta de compilación y los introduce en el proceso de publicación ClickOnce.

Opción 2: Inclúyalos en el .csproj

Cuando la carpeta se genera automáticamente o es grande, edite el .csproj para detectar cada archivo .ocrdata recursivamente en lugar de gestionar cada uno en la UI:

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

El glob mantiene los nuevos archivos de idioma sincronizados sin tocar las referencias del proyecto siempre que la carpeta cambie.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 6,136,090 | Versión: 2026.7 recién lanzado
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronOcr
ejecuta una muestra y observa cómo tu imagen se convierte en texto buscable.