아래는 UpdateWebReference.bat 파일 내용
날림으로 만들었지만 결과물은 아주 만족스럽다.
물론 여기 들어오는 사람 중에 웹서비스 놀이 하는 분은 없겠지만..
wget은 윈도우 버전을 받고, PATH 환경 변수에 디렉터리를 집어넣는다.
비주얼 스튜디오에서 프로젝트 속성에 가서 빌드 전 이벤트에
call UpdateWebReference 웹참조이름 $(ProjectName) $(ProjectDir) ASMX경로
call UpdateWebReference 웹참조이름 $(ProjectName) $(ProjectDir) ASMX경로
...
call UpdateWebReference 웹참조이름 $(ProjectName) $(ProjectDir) ASMX경로
이런 식으로 써주면 된다.
가끔 UI에 빌드 전 이벤트가 안 나타나는 경우도 있는데, 걱정마시라.
csproj 파일 직접 열어서 Settings 요소의 PreBuildEvent 속성을 편집해버리면 다 먹힌다.
Visual Studio의 UI에서만 안 보이는 것 뿐이다.
이제 URL 참조를 동적으로 변경하고 설정 파일 셋팅한 다음
FTP로 밀어넣는 것만 Integration Server에 집어넣어버리면 거의 일주일 걸리던 셋팅이 다 끝날거다..
더 이상 내 인생에 구질구질한 ASP.NET 파서 오류는 없다!!
(빌게는 양심이 있으면 다음 VS 버전에 웹 참조 업데이트 매크로 꼭 넣어라-_-)
@ECHO OFF
REM 지정한 WSDL을 이용하여 Proxy 클래스를 생성해낸다.
REM 웹 참조 업데이트 기능을 빌드 전 이벤트에서 배치 처리하기 위해서 만든 유틸리티.
REM 첫번째 매개변수 - 웹 참조 이름
REM 두번째 매개변수 - 프로젝트 이름
REM 세번째 매개변수 - 프로젝트 경로
REM 네번째 매개변수 - ASMX 파일의 URL
wsdl.exe /language:CS /namespace:%2.%1 /out:"%3Web References%1Reference.cs" %4?wsdl
wget.exe %4?wsdl -O "%3Web References%1%1.wsdl"
wget.exe %4?disco -O "%3Web References%1%1.disco"
날림으로 만들었지만 결과물은 아주 만족스럽다.
물론 여기 들어오는 사람 중에 웹서비스 놀이 하는 분은 없겠지만..
wget은 윈도우 버전을 받고, PATH 환경 변수에 디렉터리를 집어넣는다.
비주얼 스튜디오에서 프로젝트 속성에 가서 빌드 전 이벤트에
call UpdateWebReference 웹참조이름 $(ProjectName) $(ProjectDir) ASMX경로
call UpdateWebReference 웹참조이름 $(ProjectName) $(ProjectDir) ASMX경로
...
call UpdateWebReference 웹참조이름 $(ProjectName) $(ProjectDir) ASMX경로
이런 식으로 써주면 된다.
가끔 UI에 빌드 전 이벤트가 안 나타나는 경우도 있는데, 걱정마시라.
csproj 파일 직접 열어서 Settings 요소의 PreBuildEvent 속성을 편집해버리면 다 먹힌다.
Visual Studio의 UI에서만 안 보이는 것 뿐이다.
이제 URL 참조를 동적으로 변경하고 설정 파일 셋팅한 다음
FTP로 밀어넣는 것만 Integration Server에 집어넣어버리면 거의 일주일 걸리던 셋팅이 다 끝날거다..
더 이상 내 인생에 구질구질한 ASP.NET 파서 오류는 없다!!
(빌게는 양심이 있으면 다음 VS 버전에 웹 참조 업데이트 매크로 꼭 넣어라-_-)




덧글