MyAssembly.XmlSerializers.dll은 (는) 무엇 이죠?
어셈블리를 생성하는 프로젝트를 진행 중입니다. 방금 추가 어셈블리 * .XmlSerializers.dll이 생성되고 있음을 알았습니다. 이 파일이 자동 생성되는 이유와 용도는 무엇입니까?
에서 .NET의 구현, XmlSerializer를은 (성능상의 이유로) 클래스를 역 직렬화 / 직렬화 임시 어셈블리를 생성합니다. 즉석에서 생성 할 수 있지만 (실행할 때마다 시간이 소요됨) 컴파일하는 동안 미리 생성되어 원하는 어셈블리에 저장할 수 있습니다.
프로젝트 옵션에서이 동작을 변경할 수 있습니다 (각각 컴파일 -> 고급 컴파일 옵션 -> 직렬화 어셈블리 생성 , 자동 또는 켜짐 ). 프로젝트 파일의 해당 요소는 GenerateSerializationAssemblies 입니다 (예 :)<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
.
참고로 XmlSerializers.dll이 자동으로 생성되지 않도록 정확한 단계는 다음과 같습니다.
- VS에서 프로젝트 파일을 마우스 오른쪽 버튼으로 클릭하고 "속성"을 선택하십시오.
- "빌드"탭을 클릭하십시오
- "직렬화 어셈블리 생성"드롭 다운을 "자동"에서 "끄기"로 변경하십시오.
- 다시 빌드하면 사라질 것입니다
필자는 이것이 성능상의 이유로 XML 직렬 변환기의 JIT (Just in time) 컴파일이라고 생각합니다.
RegexOptions.Compiled 옵션을 사용하여 RegEx 인스턴스와 동일한 결과를 얻습니다.
저는 .NET CLR 전문가가 아닙니다. 정확한 기술적 세부 사항이 없기 때문에 죄송합니다.
*.XmlSerializers.dll
Sgen.exe를 사용하여 생성됩니다 [XML Serializer Generator Tool]
일반적으로 Sgen.exe
프로젝트의 빌드 후 이벤트에서 사용됩니다. 프로젝트에 빌드 후 이벤트가 있는지 확인하십시오.*.XmlSerializers.dll
이 프로젝트는 웹 응용 프로그램 용 project.XMLSerialisers.dll 만 생성합니다. 다른 응용 프로그램의 경우 sgen을 별도로 실행해야합니다.
참고 URL : https://stackoverflow.com/questions/934411/what-is-myassembly-xmlserializers-dll-generated-for
'Programming' 카테고리의 다른 글
DefiningQuery는 있지만 InsertFunction 요소는 없습니다… (0) | 2020.07.10 |
---|---|
앰퍼샌드로 PHP 기능을 시작한다는 것은 무엇을 의미합니까? (0) | 2020.07.10 |
10 억 숫자의 중앙값 계산 (0) | 2020.07.10 |
스칼라에서 '20 초 '는 어떻게 작동합니까? (0) | 2020.07.10 |
마진을 0으로 맞추지 못하는 이유는 무엇입니까? (0) | 2020.07.07 |