System.Drawing.Common 대안 (.NET 7 및 비 Windows 환경)
Microsoft는 .NET 6부터 Linux 및 macOS에서 System.Drawing.Common에 대한 지원을 중단했습니다. 이 라이브러리는 이제 Windows에서만 작동합니다. 더 자세한 내용은 공식 문서를 참조하십시오.
"System.Drawing.Common은 이 플랫폼에서 지원되지 않습니다" 오류를 방지하기 위한 해결 방법
.NET 6
Windows 이외의 운영 체제에서는 TypeInitializationException이(가) PlatformNotSupportedException을(를) 내부 예외로 던집니다. 플랫폼 분석기는 Windows 이외의 플랫폼에 대해 컴파일 시간 경고를 발생시킵니다. 구성 옵션을 설정하지 않으면 다음과 같은 런타임 예외가 발생합니다.
System.TypeInitializationException: 'Gdip' 형식 초기화 프로그램에서 예외가 발생했습니다.
---- System.PlatformNotSupportedException: System.Drawing.Common은 Windows 이외의 플랫폼에서 지원되지 않습니다.
.NET 6에서의 임시 해결 방법:
Windows 이외의 플랫폼 지원을 활성화하려면 System.Drawing.EnableUnixSupport 런타임 설정 스위치를 runtimeconfig.json 파일에서 true으로 설정하세요:
{
"runtimeOptions": {
"configProperties": {
"System.Drawing.EnableUnixSupport": true
}
}
}
또한, 프로그램적으로 설정을 활성화하려면 코드 시작 부분에 다음 줄을 추가하십시오.
// Enable System.Drawing.Common support on non-Windows platforms in .NET 6
System.AppContext.SetSwitch("System.Drawing.EnableUnixSupport", true);' Enable System.Drawing.Common support on non-Windows platforms in .NET 6
System.AppContext.SetSwitch("System.Drawing.EnableUnixSupport", True).NET 7 이상
Microsoft는 .NET 7부터 Linux와 macOS에서 System.Drawing.Common 지원을 완전히 제거했으며, 이전에 사용 가능했던 해결 방법도 포함됩니다.
Iron Software는 System.Drawing.Common을 대체할 수 있는 오픈 소스 버전으로 IronSoftware.Drawing을(를) 출시했습니다.
더 자세한 내용을 알아보려면 공식 문서를 참조하십시오.

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