C# 运行时错误-将启用的32位应用程序设置为假IIS后

C# 运行时错误-将启用的32位应用程序设置为假IIS后,c#,.net,iis-7,32bit-64bit,C#,.net,Iis 7,32bit 64bit,我有一个在asp中运行的旧应用程序,该应用程序最近被迁移到.net,并部署在Windows 2008 server上,但由于某些dll(正在使用旧的MSXML dll)依赖关系,它仍以32位运行。 该依赖项已被删除,并在2012年重建。与我部署并将应用程序池设置更改为禁用32位应用程序标志(在“高级设置”下)时相比,它会给我以下错误。 但是,如果我将标志更改为true,应用程序将重新开始工作。 有人能提出一些解决办法吗 --------------------------------------

我有一个在asp中运行的旧应用程序,该应用程序最近被迁移到.net,并部署在Windows 2008 server上,但由于某些dll(正在使用旧的MSXML dll)依赖关系,它仍以32位运行。
该依赖项已被删除,并在2012年重建。与我部署并将应用程序池设置更改为禁用32位应用程序标志(在“高级设置”下)时相比,它会给我以下错误。
但是,如果我将标志更改为true,应用程序将重新开始工作。
有人能提出一些解决办法吗

---------------------------------------------------------------------------------------
Could not load file or assembly 'System.Web' or one of its dependencies. An attempt was made to load a program with an incorrect format. 
---------------------------------------------------------------------------------------
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\*******\******\web.config
LOG: Using host configuration file: C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Aspnet.config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v2.0.50727\config\machine.config.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/Temporary ASP.NET Files/root/70aa83e0/80464c61/System.Web.DLL.
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/Temporary ASP.NET Files/root/70aa83e0/80464c61/System.Web/System.Web.DLL.
LOG: Attempting download of new URL file:///D:/Websites/XML_NET/bin/System.Web.DLL.
ERR: Failed to complete setup of assembly (hr = 0x8007000b). Probing terminated.

听起来像是您的64位进程—承载.net代码的IIS工作进程w3wp.exe—试图加载某个编译为32位的程序集(以x86为目标)。确保应用程序及其所有依赖项都是在目标设置为AnyCPU或x64的情况下编译的。多亏了MA HAnin,我正在检查添加的依赖项列表,除了一个自定义代码之外(我需要检查以确保其生成时目标设置为any cpu或*64),我可以看到我有microsoft.visualbasic dll..这个dll可以构建为32位吗?是否有任何方法可以查看每个依赖项是为什么构建的,例如32、64等?任何人-任何方法都可以找到vs 2012中解决方案中引用的所有dll的目标CPU?