Microsoft MVP성태의 닷넷 이야기
.NET Framework: 72. XSDObjectGen.EXE 기능 개선 [링크 복사], [링크+제목 복사],
조회: 19058
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

기존의 XSDObjectGen.exe 에서 아쉬웠던 부분들을 나름대로 개선한 버전을 SmallTool ver 1.0.0.9 버전에 포함시켰습니다.

대표적으로, 스키마 상속 처리 및 Enum 형에 대한 처리를 개선했고, 소스 코드 자동 생성에 관한 VS.NET 2005 Add-in 을 포함시켰습니다. (Add-in 자체는 VS.NET 2003 에서도 구동이 되지만, 소스 코드 생성이 .NET 2.0 을 기준으로 맞춰져 있습니다.)

보다 자세한 부분은 다음의 링크를 참조하십시오.

Small Tool 다운로드
; https://www.sysnet.pe.kr/Default.aspx?mode=2&sub=3&pageno=0&detail=1&wid=-

스키마 상속 처리 (1)
; https://www.sysnet.pe.kr/Default.aspx?mode=2&sub=3&pageno=0&detail=1&wid=28

스키마 상속 처리 (2)
; https://www.sysnet.pe.kr/Default.aspx?mode=2&sub=3&pageno=0&detail=1&wid=30

스키마 상속 처리 (3)
; https://www.sysnet.pe.kr/Default.aspx?mode=2&sub=3&pageno=0&detail=1&wid=32

partial class 생성
; https://www.sysnet.pe.kr/Default.aspx?mode=2&sub=3&pageno=0&detail=1&wid=27

Enum 처리
; https://www.sysnet.pe.kr/Default.aspx?mode=2&sub=3&pageno=0&detail=1&wid=26

정리해 보면, 제가 수정한 XSDObjectGen.exe 를 사용하는 경우 Enum 처리의 경우는 기존의 소스를 그대로 유지하셔도 상관없습니다.
Enum 관련 스키마의 하위에 annotation 노드가 없다면 기존의 XSDObjectGen.exe 와 동일하게 소스 생성을 합니다.

하지만, import 를 통해서 다른 스키마에서 가져온 경우라면 기존 방식 처럼 콘솔에서 직접 입력하는 것을 지원하지 않습니다.
자동으로 이뤄지게 되어 있는 데요. 그를 위해서 import 되는 그 스키마 파일안에, 콘솔에서 입력받던 것과 동일한 코드 네임스페이스를 annotation 에 포함시켜 주시면 됩니다.

기타 건의 사항이 있으시면 언제든지 메일 주십시오.








[최초 등록일: ]
[최종 수정일: 7/1/2006]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 61  62  63  64  65  66  67  68  [69]  70  71  72  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
12242정성태6/23/202018515오류 유형: 623. AADSTS90072 - User account '...' from identity provider 'live.com' does not exist in tenant 'Microsoft Services'
12241정성태6/23/202021188.NET Framework: 914. C# - Task.Yield 사용법파일 다운로드1
12240정성태6/23/202022516오류 유형: 622. 소켓 바인딩 시 "System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions" 오류 발생
12239정성태6/21/202021533Linux: 30. (윈도우라면 DLL에 속하는) .so 파일이 텍스트로 구성된 사례 [1]
12238정성태6/21/202019469.NET Framework: 913. C# - SharpDX + DXGI를 이용한 윈도우 화면 캡처 라이브러리
12237정성태6/20/202019160.NET Framework: 912. 리눅스 환경의 .NET Core에서 "test".IndexOf("\0")가 0을 반환
12236정성태6/19/202020028오류 유형: 621. .NET Standard 대상으로 빌드 시 dynamic 예약어에서 컴파일 오류 - error CS0656: Missing compiler required member 'Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create'
12235정성태6/19/202018294오류 유형: 620. Windows 10 - Inaccessible boot device 블루 스크린
12234정성태6/19/202017812개발 환경 구성: 494. NuGet - nuspec의 패키지 스키마 버전(네임스페이스) 업데이트 방법
12233정성태6/19/202018957오류 유형: 619. SQL 서버 - The transaction log for database '...' is full due to 'LOG_BACKUP'. - 두 번째 이야기
12232정성태6/19/202017272오류 유형: 618. SharePoint - StoreBusyRetryLater 오류
12231정성태6/15/202020871.NET Framework: 911. Console/Service Application을 위한 SynchronizationContext - AsyncContext
12230정성태6/15/202019567오류 유형: 617. IMetaDataImport::GetMethodProps가 반환하는 IL 코드 주소(RVA) 문제
12229정성태6/13/202021675.NET Framework: 910. USB/IP PROJECT를 이용해 C#으로 USB Keyboard + Mouse 가상 장치 만들기 [1]
12228정성태6/12/202020248.NET Framework: 909. C# - Source Generator를 적용한 XmlCodeGenerator파일 다운로드1
12227정성태6/12/202024338오류 유형: 616. Visual Studio의 느린 업데이트 속도에 대한 원인 분석 [5]
12226정성태6/11/202023025개발 환경 구성: 493. OpenVPN의 네트워크 구성 [4]파일 다운로드1
12225정성태6/11/202020705개발 환경 구성: 492. 윈도우에 OpenVPN 설치 - 클라이언트 측 구성
12224정성태6/11/202029578개발 환경 구성: 491. 윈도우에 OpenVPN 설치 - 서버 측 구성 [1]
12223정성태6/9/202026084.NET Framework: 908. C# - Source Generator 소개 [10]파일 다운로드2
12222정성태6/3/202018589VS.NET IDE: 146. error information: "CryptQueryObject" (-2147024893/0x80070003)
12221정성태6/3/202018378Windows: 170. 비어 있지 않은 디렉터리로 symbolic link(junction) 연결하는 방법
12220정성태6/3/202022415.NET Framework: 907. C# DLL로부터 TLB 및 C/C++ 헤더 파일(TLH)을 생성하는 방법
12219정성태6/1/202021005.NET Framework: 906. C# - lock (this), lock (typeof(...))를 사용하면 안 되는 이유파일 다운로드1
12218정성태5/27/202019981.NET Framework: 905. C# - DirectX 게임 클라이언트 실행 중 키보드 입력을 감지하는 방법 [3]
12217정성태5/24/202018369오류 유형: 615. Transaction count after EXECUTE indicates a mismatching number of BEGIN and COMMIT statements. Previous count = 0, current count = 1.
... 61  62  63  64  65  66  67  68  [69]  70  71  72  73  74  75  ...