이 문서에서는 MSB3823 오류 코드에 대해 설명합니다.
메시지 텍스트
MSB3823: Non-string resources require the property GenerateResourceUsePreserializedResources to be set to true.
설명
.NET Framework와 .NET Core 간에 문자열이 아닌 리소스를 직렬화하고 역직렬화하는 방법에는 차이가 있습니다. .NET Framework 애플리케이션에서 리소스는 모두 역직렬화된 다음 미리 역직렬화됩니다. 이는 효율적이지는 않지만 다양한 직렬화 및 역직렬화 기술을 처리하기 위한 것이었습니다. .NET Core에서는 추가 단계가 방지됩니다. 그러나 오류 메시지에 언급된 속성을 설정하여 .NET Framework 프로젝트에 대한 사전 초기화를 옵트인할 수도 있습니다.
해결 방법
.NET Framework 프로젝트에서 미리 관리된 리소스를 사용하려면 System.Resources.Extensions NuGet 패키지에 대한 참조를 추가하고 속성을 GenerateResourceUsePreserializedResources
true로 설정해야 합니다.
적용 대상
MSBuild의 모든 버전