VC2005访问WebService

    到VS2008里就不再支持引用WebService了,但是就当是学习我还是使用了VS2005尝试了WebService的使用。我这里说的是非托管提MFC程序中的引用。方法很简单,只需要在解决方案的MFC项目上点右键从“添加Web引用”就可以找到Web服务并添加到到项目中。这个网上早有人给出了做法,但是我这里说的是在Win2000下运行的问题。

  我的程序是在XP系统下编译运行的,并且运行的很好。我在机器上安装了Microsoft Virtual PC,正好可以运行一个Win2000的系统。我把MFC的EXE程序Copy到Win2000后如期所至的错误出现了:

VC2005访问WebService_第1张图片

    于是我试遍了网上给出的解决方法,可是偏偏我是最苯的,终于也没有让我把错误排除。为了验证自己的一个想法我试着打开了项目里的这个头文件:stdafx.h、并做出一些改动如下:

。。。 // 如果您必须使用下列所指定的平台之前的平台,则修改下面的定义。 // 有关不同平台的相应值的最新信息,请参考 MSDN。 #ifndef WINVER // 允许使用特定于 Windows XP 或更高版本的功能。 #define WINVER 0x0500//0x0501 // 将此值更改为相应的值,以适用于 Windows 的其他版本。 #endif #ifndef _WIN32_WINNT // 允许使用特定于 Windows XP 或更高版本的功能。 #define _WIN32_WINNT 0x0500//0x0501 // 将此值更改为相应的值,以适用于 Windows 的其他版本。 #endif #ifndef _WIN32_WINDOWS // 允许使用特定于 Windows 98 或更高版本的功能。 #define _WIN32_WINDOWS 0x0410 // 将它更改为适合 Windows Me 或更高版本的相应值。 #endif 。。。

很明显我是把WINVER及_WIN32_WINNT的定义从0x0501更改到了 0x0500。从而降低了对版本的要求。

重新编译、Copy到Win2000!

OK!运行正常。

 

其实我不太懂这里的版本号倒底应改为哪一个值,但我想一定是要低于VS2005的默认的值0x0501。所以我改成了0x0500,但这对我的Win2000来说就足够不报错了。

你可能感兴趣的:(windows,webservice,Microsoft,mfc,web服务,平台)