Using WSE 3 in Visual Studio 2008
Web Service Enhancements 3 (WSE 3) is not officially supported for Visual Studio 2008. The reason is that Microsoft wants you migrate your code to WCF. Believe me, it’s not easy to convert a client application using WSE 3 to WCF.
So, how do you make WSE 3 work with Visual Studio 2008? Here are the steps.
Go to the folder %ALLUSERPROFILE%\Application Data\Microsoft\MSEnvShared\Addins (C:\Documents and Settings\All Users\Application Data\Microsoft\MSEnvShared\Addins).
Open the file WSESettingsVS3.AddIn in notepad. You’ll have this file if WSE 3 is installed. You’ll find two <HostApplication> sections. Note that the version is 8.0. Copy and paste these two sections and change the version of the new sections to 9.0. After the changes are made, the file should look something like this:
<?xml version="1.0" encoding="utf-16" standalone="no"?>
<Extensibility
xmlns="http://schemas.microsoft.com/AutomationExtensibility">
<HostApplication>
<Name>Microsoft Visual Studio Macros</Name>
<Version>8.0</Version>
</HostApplication>
<HostApplication>
<Name>Microsoft Visual Studio</Name>
<Version>8.0</Version>
</HostApplication>
<HostApplication>
<Name>Microsoft Visual Studio Macros</Name>
<Version>9.0</Version>
</HostApplication>
<HostApplication>
<Name>Microsoft Visual Studio</Name>
<Version>9.0</Version>
</HostApplication>
<Addin>
<FriendlyName>WSE Settings 3.0...</FriendlyName>
<Description>WSE Settings Tool.</Description>
<Assembly>C:\Program Files\Microsoft WSE\v3.0\Tools\WseSettingsVS3.dll</Assembly>
<FullClassName>WseSettings.Connect</FullClassName>
<LoadBehavior>1</LoadBehavior>
<CommandPreload>0</CommandPreload>
<CommandLineSafe>0</CommandLineSafe>
</Addin>
</Extensibility>
Save the file. This should be enough to add the add-in to Visual Studio 2008.
Now, open the devenv.exe.config file. You can find this file in the same folder where your visual studio application resides. Add the following snippet just above the closing </configuration> tag inside the file. This helps Visual Studio to generate web service proxy classes using WSE.
<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>
Close all the instances of Visual Studio 2008 and start the application again.