Faltando Arquivos de Linguagem Secundária em Publicações ClickOnce

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

Um aplicativo de console .NET 8.0 que usa o IronOCR com um pacote de linguagem secundária (espanhol, japonês, etc.) funciona bem dentro do Visual Studio mas dá erro em tempo de execução uma vez publicado com ClickOnce. Os arquivos de dados de linguagem nunca chegam à saída de publicação.

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

ClickOnce só publica o que conhece explicitamente. Arquivos de .ocrdata de linguagem secundária não são reconhecidos ou incorporados automaticamente, então são silenciosamente eliminados da implantação, embora o pacote esteja instalado.

Solução

Marque os arquivos de pacote de linguagens para publicação para que ClickOnce os leve à implantação. Escolha a opção que melhor se adapta ao seu projeto.

Opção 1: Marcar Cada Arquivo Como Conteúdo

Localize os arquivos .ocrdata na saída da compilação, tipicamente:

bin\Debug\net8.0\OcrData

Para cada arquivo dentro da pasta OcrData, defina:

  • Ação de Compilação: Content
  • Copiar para o Diretório de Saída: Copy if newer

Isso copia os arquivos para a pasta de compilação e os leva ao processo de publicação ClickOnce.

Opção 2: Incluí-los na .csproj

Quando a pasta é gerada automaticamente ou é grande, edite o .csproj para pegar todos os arquivos .ocrdata recursivamente em vez de gerenciar cada um na interface do usuário:

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

O globo mantém novos arquivos de linguagem em sincronia sem tocar em referências de projeto sempre que a pasta mudar.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais
Pronto para começar?
Nuget Baixar 6,136,090 | Versão: 2026.7 recém-lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronOcr
executar um exemplo Veja sua imagem se transformar em texto pesquisável.