WSCF와 VS.NET 2008
WSCF (Web Services Contract-First)는 현재 "
thinktecture"라는 회사에서 무료로 배포되고 있는 도구입니다. 이 도구를 사용해서 XSD 파일로부터 그에 해당하는 엔티티 클래스를 닷넷 코드로 생성해 낼 수 있습니다.
XSDGenerator가 그다지 눈에 띄는 업그레이드를 하지 못하는 사이, WSCF가 조금씩 개발자들의 요구를 충족시켜 주고 있었는데요.
그런데, WSCF 도구도 업그레이드가 안 된지 한참 되어가고 있습니다. 게다가 이젠 VS.NET 2008까지 나왔는데 VS.NET IDE의 솔루션 탐색기에서 제공되는 컨텍스트 메뉴까지도 동작을 하지 않기 때문에 당분간 정식 업데이트 되기 전까지는 불편을 감수해야 할 듯 싶은데요.
그러나,,, 사실 따지고 보면 VS.NET IDE에 대한 Add-in 기능들은 대부분 레지스트리 등록이나 파일 등록을 통해서 이뤄지기 때문에 그 부분만을 잘 맞춰주면 잘 될 것 같은 생각이 들긴 합니다. 그래서, 메뉴 관련하여 등록 방법을 찾아보기 시작했고, ^^ 결국 다음과 같은 식으로 해결을 할 수 있었습니다.
1. 다음의 폴더에 있는 addin 파일을, 동일한 폴더에 다른 이름으로 복사합니다.
Windows Vista: C:\Users\[USER계정]\AppData\Roaming\Microsoft\MSEnvShared\Addins\WSCF.addin
Windows 2003: C:\Documents and Settings\[USER 계정]\Application Data\Microsoft\MSEnvShared\Addins\WSCF.addin
2. 복사한 파일의 내용에서 버전 부분을 아래와 같이 "9.0"으로 수정해서 저장합니다.
<?xml version="1.0" encoding="UTF-16" standalone="no"?>
<Extensibility xmlns="http://schemas.microsoft.com/AutomationExtensibility">
<HostApplication>
<Name>Microsoft Visual Studio</Name>
<Version>9.0</Version>
</HostApplication>
<Addin>
<FriendlyName>WSCF - Web Services Contract-First</FriendlyName>
<Description>Use schema and WSDL first to generate client and service code skeletons for ASMX Web Services.</Description>
<AboutBoxDetails>thinktecture WSCF - WSDL wizard and Web Services code generator.\r\nVersion 0.7.6319.1, ⓒ 2003 - 2006 thinktecture, http://www.thinktecture.com/</AboutBoxDetails>
<AboutIconData>0000... [중간생략] ...FFC1FFF</AboutIconData>
<Assembly>D:\Program Files (x86)\thinktecture\WSCF 0.7\Thinktecture.Tools.Web.Services.ContractFirst.dll</Assembly>
<FullClassName>Thinktecture.Tools.Web.Services.ContractFirst.Connect</FullClassName>
<LoadBehavior>1</LoadBehavior>
<CommandPreload>1</CommandPreload>
<CommandLineSafe>0</CommandLineSafe>
</Addin>
</Extensibility>
끝입니다. ^^ 이제 VS.NET 2008을 실행하고 XSD 파일 확장자를 가진 항목 위에서 오른쪽 마우스 버튼을 누르시면 아래와 같이 WSCF 관련 메뉴가 나타나는 것을 확인할 수 있습니다. ^^
참고로, 메뉴 관련 확장 DLL들의 등록 경로는 아래와 같이 레지스트리에 등록되어 있습니다.
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\AutomationOptions\LookInFolders
- %ALLUSERSDOCUMENTS%\Microsoft\MSEnvShared\Addins
- %ALLUSERSPROFILE%\Application Data\Microsoft\MSEnvShared\Addins
- %APPDATA%\Microsoft\MSEnvShared\Addins
- %VSAPPDATA%\Addins
- %VSCOMMONAPPDATA%\Addins
- %VSMYDOCUMENTS%\Addins
[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]