.NET 2005 - 通过IIS进行测试运行为x86。单元测试以x64运行

时间:2012-03-30 18:08:55

标签: c# iis visual-studio-2005 x86 64-bit

我在这里遇到了一些难题。

我的开发盒是64位,Windows 7。 我的所有项目都编译为“任何CPU”。 该项目引用了64位版本的第三方软件

当我运行不使用任何Web引用的单元测试时,它可以正常工作。我可以说它是以64位进程运行的。我可以调用我的命令,它们工作正常。

但是,每当我运行一个调用我自己的PC的Web服务调用的测试时,该代码就会回来告诉我它运行的是32bit / x86。 Web服务与单元测试完全相同,但它测试Web服务/ SOAP代理(实际上它通过Web服务调用相同的代码)。

我一直在试图弄清楚这一点。我检查了所有第三方dll,并确保它们编译为32/64位,并通过快速单元测试进行验证。我不确定为什么通过IIS将其变为32位。

似乎任何通过IIS运行代码的代码都是32位而不是64位。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

我遇到了在Windows 7 64位的AnyCPU编译中引用的32位DLL问题,导致我的应用程序出错。我发现我需要做以下事情:

打开IIS>深入研究应用程序池> {your app pool}>高级设置并将启用32位应用程序属性设置为True。

不确定这是否与您的问题有关,但可能需要检查?