2014-05-15 2 views
1

내 .xsd에서 .cs 파일을 생성하기 위해 sharpdevelop를 얻으려고합니다. 솔루션의 "Pre-build event command line"에 항목을 추가하려고 시도했지만 효과가 없으며 결과도 출력되지 않습니다. 그래서 나는 단순하게 추가하려고 시도했다. 단지 그것이 작동하는지 확인하기 위해 사전 빌드를 시도했다. 이는 사전 빌드 이벤트가 호출되지 않는다는 것을 암시하며 아무런 효과가 없습니다.sharpdevelop에게 .xsd에서 .cs를 생성하기 위해 xsd 도구를 실행하는 방법

또한 .xsd 파일의 속성에 "사용자 지정 도구"를 지정하려고했습니다. 이로 인해 사용자 지정 도구 속성에 무엇을 넣든 상관없이 "사용자 지정 도구를 찾을 수 없습니다."라는 오류가 발생했습니다.

+0

사전 빌드 이벤트가 가장 좋습니다. SharpDevelop에는 xsd.exe를 사용하여 스키마에서 C# 파일을 생성하는 데 사용할 수있는 사용자 지정 도구가 없습니다. 건물에 출력물에 오류가 있습니까? 또한 아무 일도 일어나지 않는 경우 명령 줄에서 빌드를 시도하십시오. –

+0

명령 줄에서 xsd 명령을 실행하면 예상 한 결과를 얻습니다. 나는 sharpdevelop가 실제로 미리 빌드 이벤트를 실행한다고 생각하지 않습니다. 한번도 호출되지 않은 간단한 echo 문으로 테스트했습니다. – spierepf

답변

1

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". 
관련 문제