导航

WSE vs2008支持

Posted on 2010-01-14 09:39  kingwangzhen  阅读(368)  评论(0编辑  收藏  举报

我的开发环境是.net FrameWork 3.5 sp1,Visual Studio 2008 Sp1 ,Windows Server 2008 sp1)

  由于WSE有被WCF取代之势,WSE3.0的安装包已经不支持Visual Studio 2008,所以首相要解决的问题是如何让WSE3.0被Visual Studio 2008 支持。

 

问题分析:

 在我们利用VS工具引用Web Service的时候会生成一些代理类文件,其机制是VS这个开发工具调用MsDiscoCodeGenerator这个工具,接着MsDiscoCodeGenerator利用ServiceDescriptionImportor来生成我们在开发工具中看到的类。这是普通Web Service Proxy的生成方式,而WSE是利用WseExtensionImpotor这个类来生成。关于MsDiscoCodeGenerator这个工具可以在注册表中找到,路径为:HEKY_LOCAL_MACHINE->Microsoft->Visual studio ->9.0->generator,

具体信息可以参看http://www.drewnoakes.com/snippets/WritingACustomCodeGeneratorToolForVisualStudio/。所以要解决这个问题,首先就要让VS知道我们用WseExtensionImportor。

 

具体解决步骤:


配置devenv.exe.config,把下面的代码paste到里面,devenv.exe.config跟Vs是一个目录。目的就是让VS开发工具知道我们要用WseExtensionImportor类来生成代理类文件
<system.web>
 <webServices>
     <soapExtensionImporterTypes>
     <add type="Microsoft.Web.Services3.Description.WseExtensionImporter,
     Microsoft.Web.Services3, Version=3.0.0.0,
      Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
     </soapExtensionImporterTypes>
     </webServices>
     http://msnpiki.msnfanatic.com/index.php/Main_Page-->
文章出处:DIY部落(http://www.diybl.com/course/3_program/cshapo/csharpjs/20100108/188516.html)