ClickOnce 게시에서 보조 언어 파일 누락
둘째 언어 팩(스페인어, 일본어 등)을 사용하는 IronOCR이 포함된 .NET 8.0 콘솔 앱은 Visual Studio 내에서는 잘 작동하지만 ClickOnce로 게시하면 런타임에 에러가 발생합니다. 언어 데이터 파일은 게시 출력에 포함되지 않습니다.
IronOcr.Exceptions.LanguagePackException:
Please install the NuGet Package IronOcr.Languages.Spanish...
Error: 'The file Spanish.ocrdata was not found'
ClickOnce는 명시적으로 알고 있는 것만 게시합니다. 보조 언어 .ocrdata 파일은 자동으로 인식되거나 묶이지 않으며, 패키지가 설치되어 있어도 배포에서 조용히 제외됩니다.
해결책
ClickOnce가 배포에 언어 팩 파일을 포함 할 수 있도록 게시할 파일을 지정하세요. 프로젝트에 맞는 옵션을 선택하세요.
옵션 1: 각 파일을 콘텐츠로 마크
일반적으로 빌드 출력에서 .ocrdata 파일을 찾으십시오:
bin\Debug\net8.0\OcrData
각 파일에 대해 OcrData 폴더 내에서 다음을 설정하십시오:
- 빌드 액션:
Content - 출력 디렉토리에 복사:
Copy if newer
그것은 파일을 빌드 폴더에 복사하고 ClickOnce 게시 프로세스로 끌어옵니다.
옵션 2: 이를 .csproj에 포함
폴더가 자동으로 생성되거나 대규모일 경우, .csproj을 편집하여 UI에서 각각 관리하는 대신 모든 .ocrdata 파일을 재귀적으로 선택하십시오:
<ItemGroup>
<Content Include="OcrData\**\*">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
글롭은 폴더가 변경될 때마다 프로젝트 참조를 건드리지 않고도 새로운 언어 파일을 동기화 상태로 유지합니다.

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.