SharpDevelop 4.4에서 미리 빌드 이벤트를 사용하여 xsd.exe를 사용하여 C# 파일을 생성하는 방법은 다음과 같습니다.
경로에 xsd.exe가 있는지 확인하십시오. 이 옵션을 구성하면 전체 경로를 지정하지 않고도 명령 줄에서 xsd.exe를 실행할 수 있습니다.
프로젝트를 SharpDevelop에서 열어 프로젝트 메뉴 선택 프로젝트 옵션. 그런 다음 빌드 이벤트 빌드 이벤트를 선택하십시오. 사전 빌드 이벤트 명령 줄 텍스트 상자에
는 다음을 추가 :이 프로젝트 디렉토리에 myschema.xsd라는 XML 스키마를 가정
xsd $(ProjectDir)myschema.xsd /c /out:$(ProjectDir)
.
이제 프로젝트를 빌드하십시오.
프로젝트를 빌드하면 나머지 프로젝트가 컴파일되기 전에 xsd가 실행되고 프로젝트 디렉토리에 C# 파일이 생성됩니다. 이 파일이 생성되면 C# 파일을 프로젝트에 추가하고이 파일에 클래스를 사용하는 코드를 작성할 수 있습니다. 따라서 스키마를 수정할 수 있으며 변경된 내용으로 새로운 C# 파일이 생성됩니다.
사전 빌드 이벤트에서 echo 문을 보려면 MSBuild 로깅 수준을 높여야합니다. 기본적으로 SharpDevelop는 MSBuild의 출력을 최소화합니다.
echo 문을 보려면 도구 메뉴에서 옵션을 선택하십시오. 일반 범주에서 프로젝트 및 솔루션을 선택하십시오. 그런 다음 Build 상세 정보를 진단 드롭 다운 목록에서 변경하십시오. 그런 다음 SharpDevelop로 빌드하면 많은 MSBuild 출력이 표시되지만 텍스트를 검색하면 출력에서 찾을 수 있습니다.
Target "PreBuildEvent" in file "C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets":
Using "Exec" task from assembly "Microsoft.Build.Tasks.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
Task "Exec"
echo 'Hello world'
'Hello world'
Done executing task "Exec".
사전 빌드 이벤트가 가장 좋습니다. SharpDevelop에는 xsd.exe를 사용하여 스키마에서 C# 파일을 생성하는 데 사용할 수있는 사용자 지정 도구가 없습니다. 건물에 출력물에 오류가 있습니까? 또한 아무 일도 일어나지 않는 경우 명령 줄에서 빌드를 시도하십시오. –
명령 줄에서 xsd 명령을 실행하면 예상 한 결과를 얻습니다. 나는 sharpdevelop가 실제로 미리 빌드 이벤트를 실행한다고 생각하지 않습니다. 한번도 호출되지 않은 간단한 echo 문으로 테스트했습니다. – spierepf