May 2010 Archives

WSE3 in Visual Studio 2008

| 0 Comments | 0 TrackBacks
Si, lo so, WSE3 è il passato, esiste solo WCF, ecc.

Solo che MS pensa che tutti possano passare come ridere da una framework all'altro senza problemi...

Qualche problema, se non altro per il tempo a disposizione, invece c'è.

Si può però, con qualche accorgimento, continuare ad utilizzare WSE3 in VS2008 con un paio di semplici modifiche a dei file di testo... il tutto ovviamente non supportato.

Il primo file da modificare, dopo ovviamente aver installato WSE 3.0, è WSESettingsVS3.Addin, nella cartella

C:\Documents and Settings\All Users\Application Data\Microsoft\MSEnvShared\Addins

Si deve modificare il blocco

<HostApplication>
    <Name>Microsoft Visual Studio Macros</Name>
    <Version>8.0</Version>
</HostApplication>
<HostApplication>
    <Name>Microsoft Visual Studio</Name>
    <Version>8.0</Version>
</HostApplication>

in questo modo

<HostApplication>
    <Name>Microsoft Visual Studio Macros</Name>
    <Version>9.0</Version>
</HostApplication>
<HostApplication>
    <Name>Microsoft Visual Studio</Name>
    <Version>9.0</Version>
</HostApplication>

Fatto questo, si devono aggiungere al file devenv.exe.config queste righe, in modo che possa generare il proxy WSE quando richiesto.

<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>
</system.web>

Talvolta (non ho capito bene la casistica, su alcune installazioni sono stati sufficienti i passi precedenti) è necessario aggiungere la cartella 

C:\Documents and Settings\All Users\Application Data\Microsoft\MSEnvShared\Addins

all'elenco "Add-in/Macros Security" in Tools\Options\Environment.

Ripeto, non ho indagato sui motivi, sono già contento cosi' ;-)

A questo punto, aggiungendo in un progetto il riferimento a Microsoft.Web.Services3.dll, il proxy generato conterrà anche una classe con suffisso Wse derivata da Microsoft.Web.Services3.WebServicesClientProtocol.

Riferimenti
http://bijesh.net/post/137287365/using-wse-3-in-visual-studio-2008
http://dotnetstep.blogspot.com/2009/04/wse-30-setting-tool-for-visual-studio.html
http://blogs.imeta.co.uk/jyoung/archive/2008/08/29/345.aspx