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>
<ItemGroup>
<Content Include="OcrData\**\*">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
글롭은 폴더가 변경될 때마다 프로젝트 참조를 건드리지 않고도 새로운 언어 파일을 동기화 상태로 유지합니다.

