Visual Studio에서 사용자 지정 도구를 사용할 때 한 파일의 내용을 변경하고 다른 사용자 지정 도구를 트리거 할 수 있으면 해결하려고합니다.Visual Studio에서 한 파일이 다른 사용자 지정 도구를 실행하게 할 수 있습니까? (이 경우 Xsd2Code 사용)
내 시나리오는 이것이다 : 비주얼 스튜디오 C# 프로젝트에서
, 나는 다른 여러 가지 다른 XSD 파일을 포함하는 "master.xsd"XML 스키마를 가지고있다. Xsd2Code Visual Studio 사용자 지정 도구를 사용하여 스키마에서 .cs를 생성합니다. master.xsd 자체가 변경되면 제대로 작동하지만 다른 xsds 중 하나가 변경되면 master.xsd 파일에서 사용자 정의 도구를 실행하고 싶습니다.
한 파일에서 다른 사용자 지정 도구를 트리거하는 방법이 있습니까?
[편집 - 나는 왜 이것에 대한 사용자 지정 도구 사용에 찾고 있어요에 대한 자세한 사항] 현재
우리는 코드 fiels를 생성하는 명령 줄에서 Xsd2Code를 호출하는 GenerateFiles.bat 파일이를 스키마에서 (아래 MattDavey가 제안한 것처럼). 이 방법은 너무 느립니다.
문제는 모든 빌드에서 Xsd2Code가 실행되지만 다른 프로젝트가이 프로젝트에 스키마에 의존하기 때문에 아무 것도 변경되지 않았더라도 모두 다시 컴파일된다는 것입니다. 실용적인 단점은 유닛 테스트의 사소한 변경조차도 재 컴파일하는 프로젝트의 절반을 포함한다는 것입니다. 스키마가 변경된 경우에만 코드 파일을 생성하는 사용자 지정 도구 접근 방식을 살펴 보았습니다.
제안 해 주셔서 감사합니다. 불행히도, 이것은 우리가 지금하는 방식이며, 너무 느립니다.문제는 모든 빌드에서 Xsd2Code가 실행되지만 다른 프로젝트가이 프로젝트에 스키마에 의존하기 때문에 아무 것도 변경되지 않았더라도 모두 다시 컴파일된다는 것입니다. 이것이 스키마가 변경된 경우에만 코드 파일을 생성하기 위해 사용자 지정 도구 접근 방식을 조사한 이유입니다. 그러나 다른 시나리오에서는 자세하게 접근하는 것이 좋습니다. –
거친 것. 마음에 오는 첫 번째 일은 xsd 파일이 변경되지 않은 xsd2code 단계를 생략하는 것입니다. 여기에는 xsd 파일의 해시를 생성하고 이전에 저장된 해시와 비교하는 다소 복잡한 사전 빌드 일괄 스크립트가 필요할 수 있습니다. 하지만 지금은 추측 일뿐입니다 :) – MattDavey
@RobLevine 편집보기 – MattDavey