다음을 통해 공유


XML Serializer 생성기 도구(Sgen.exe)

XML Serializer 생성기는 지정된 어셈블리의 형식에 대한 XML serialization 어셈블리를 만듭니다. serialization 어셈블리는 지정된 형식의 개체를 직렬화하거나 역직렬화할 때 XmlSerializer의 시작 성능을 향상시킵니다.

비고

이 도구는 .NET Framework 어셈블리와 관련이 있습니다. .NET(Core) 어셈블리용 XML serializer를 생성하려면 .NET Core에서 Microsoft XML Serializer 생성기 사용을 참조하세요.

문법

명령줄에서 도구를 실행합니다.

sgen [options]

팁 (조언)

.NET Framework 도구가 제대로 작동하려면 Visual Studio 개발자 명령 프롬프트 또는 Visual Studio 개발자 PowerShell을 사용하거나 환경 Path변수 및 Include 환경 변수를 Lib올바르게 설정해야 합니다. 이러한 환경 변수를 설정하려면 <실행합니다.

매개 변수

옵션 설명
/a[ssembly]:filename 어셈블리에 포함된 모든 형식 또는 파일 이름으로 지정된 실행 파일에 대한 serialization 코드를 생성합니다. 하나의 파일 이름만 제공할 수 있습니다. 이 인수가 반복되면 마지막 파일 이름이 사용됩니다.
/c[ompiler]:options C# 컴파일러에 전달할 옵션을 지정합니다. 모든 csc.exe 옵션은 컴파일러에 전달되므로 지원됩니다. 어셈블리에 서명하도록 지정하고 키 파일을 지정하는 데 사용할 수 있습니다.
/d[ebug] 디버거와 함께 사용할 수 있는 이미지를 생성합니다.
/f[orce] 동일한 이름의 기존 어셈블리를 강제로 덮어씁니다. 기본값은 false입니다.
/help 또는 /? 이 도구의 명령 구문 및 옵션을 표시합니다.
/k[eep] serialization 어셈블리로 컴파일된 후 생성된 원본 파일 및 기타 임시 파일의 삭제를 방지합니다. 도구가 특정 형식에 대한 serialization 코드를 생성하는지 여부를 확인하는 데 사용할 수 있습니다.
/n[ologo] Microsoft 시작 배너의 표시를 억제합니다.
/o[ut]:path 생성된 어셈블리를 저장할 디렉터리를 지정합니다. 메모: 생성된 어셈블리의 이름은 입력 어셈블리의 이름과 "xmlSerializers.dll"로 구성됩니다.
/p[roxytypes] XML 웹 서비스 프록시 형식에 대해서만 serialization 코드를 생성합니다.
/r[eference]:assemblyfiles XML serialization이 필요한 형식에서 참조하는 어셈블리를 지정합니다. 여러 어셈블리 파일을 쉼표로 구분하여 허용합니다.
/s[ilent] 성공 메시지를 표시하지 않습니다.
/t[ype]:type 지정된 형식에 대해서만 serialization 코드를 생성합니다.
/v[erbose] 디버깅을 위한 자세한 출력을 표시합니다. XmlSerializer를 사용하여 serialize할 수 없는 대상 어셈블리의 형식을 나열합니다.
/? 이 도구의 명령 구문 및 옵션을 표시합니다.

비고

XML Serializer 생성기를 사용하지 않으면 XmlSerializer 애플리케이션을 실행할 때마다 각 형식에 대해 직렬화 코드와 직렬화 어셈블리를 생성합니다. XML serialization 시작의 성능을 향상시키려면 Sgen.exe 도구를 사용하여 해당 어셈블리를 미리 생성합니다. 그런 다음 애플리케이션을 사용하여 이러한 어셈블리를 배포할 수 있습니다.

XML Serializer 생성기는 XML 웹 서비스 프록시를 사용하여 서버와 통신하는 클라이언트의 성능을 향상시킬 수도 있습니다. 직렬화 프로세스는 형식이 처음 로드될 때 성능이 저하되지 않기 때문입니다.

생성된 어셈블리는 웹 서비스의 서버 쪽에서 사용할 수 없습니다. 이 도구는 웹 서비스 클라이언트 및 수동 serialization 시나리오에만 사용됩니다.

비고

sgen 도구는 init 전용 setter와 호환되지 않습니다. 대상 어셈블리에 이 기능을 사용하는 공용 속성이 포함되어 있으면 도구가 실패합니다.

이름 지정

serialize할 형식이 포함된 어셈블리의 이름이 MyType.dll경우 연결된 serialization 어셈블리의 이름은 MyType.XmlSerializers.dll.

예시

다음 명령은 Data.dll 어셈블리에 포함된 모든 형식을 serialize하기 위해 Data.XmlSerializers.dll이라는 어셈블리를 만듭니다.

sgen Data.dll

Data.XmlSerializers.dll어셈블리는 Data.dll 형식을 직렬화하고 역직렬화해야 하는 코드에서 참조될 수 있습니다.

참고하십시오