最近在windows2008 x64位系统下的IIS7下部署asp.net程序。

vs2005或vs2008默认的情况下是Any cpu 的也就是支持x86和x64两种系统的。可我的程序在引用了一个三方dll组件时引起了这样的错误:

错误“/test”应用程序中的服务器错误。 --------------------------------------------------------------------------------
未能加载文件或程序集“XXX”或它的某一个依赖项。试图加载格式不正确的程序。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.BadImageFormatException: 未能加载文件或程序集“XXX”或它的某一个依赖项。试图加载格式不正确的程序。
源错误:
执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  
程序集加载跟踪: 下列信息有助于确定程序集“XXX”无法加载的原因。
警告: 程序集绑定日志记录被关闭。 要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1。 注意: 会有一些与程序集绑定失败日志记录关联的性能损失。 要关闭此功能,请移除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。

在网上搜索了N久。查询到如下信息。

ASP.NET程序在编译的时候默认是Any CPU,即编译的程序可以在X86、X64系统平台上运行。若希望我们的ASP.NET程序运行在X64系统上,我们所要做的仅仅是部署IIS,修改配置。 若想程序运行于IIS32位模式下,即运行在.net framwork32位下进行如下配置: 1.cscript  %systemdrive%\inetpub\adminscripts\adsutil.vbs set  w3svc/appPools/enable32bitapponwin64 1 修改IIS配置,允许32位程序运行 2.C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -i   为IIS注册asp.net32。注册后在IIS的web扩展里显示的是Asp.net2.0.*32bit。 3.Web扩展里允许 Asp.net2.0.*32bit运行。运行的是w3wp32.exe进程。 二.64位模式 1.cscript  %systemdrive%\inetpub\adminscripts\adsutil.vbs set  w3svc/appPools/enable32bitapponwin64 0 默认就是0,若原来运行了32位程序,则需要重新设置为0。 2.C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis - i   为IIS注册64为Asp.NET。注册了64位ASP.NET的IIS在Web扩展里显示的是Asp.net2.0.*。 3.Web扩展里允许 Asp.net2.0.*运行。运行的是w3wp.exe进程。

处理后还是没有出现“w3wp32.exe进程”。

但我的 Web扩展里面是有, Asp.net2.0的32位设置为允许的。

后新建了应用程序池,在新建的应用程序池的“高级设置”里面,把“启用32位应用程序”设置为true。

程序可以运行了。

因为我的机器已经设置过,cscript  %systemdrive%\inetpub\adminscripts\adsutil.vbs set  w3svc/appPools/enable32bitapponwin64 1 为32位。

为了测试,我又把它设置为64位:cscript  %systemdrive%\inetpub\adminscripts\adsutil.vbs set  w3svc/appPools/enable32bitapponwin64 0

此时,程序还是可以运行。

所以我认为:不用按照上面的1,2,3步设置开启32位。仅仅设置应用程序池中“启动32位应用程序”为true。此时应该就可以运行32位的程序了。

如果有人在X64位系统上,运行32位的asp.net程序,可以直接试试用把“启用32位应用程序”设置为true。的方法。无论是否成功,请告知。谢谢。

(转)关于X64位系统IIS7下支持32位asp.net程序的更多相关文章

  1. 呃,如何使 .NET 程序,在 64位 系统 中,以 32位 模式运行。

    其实最简单的方法就是在解决方案中,把平台设为 x86 就好了哈~   但是今天遇到一个第三方的软件,它调用的一个 dll 是 32位 的,可能它没有测试过在 64位 系统下运行的情况,它在编译时是按默 ...

  2. Win7 64位系统上配置使用32位的Eclipse(转)

    Win7 64位系统上配置使用32位的Eclipse 博客分类: Eclipse eclipse  最近工作电脑换成了64位的win7系统,之前个人电脑上安装的jdk和Eclipse都是32位的.而新 ...

  3. PLSQL在64位系统连接不上32位的服务器

    1 主要是因为PLSQL只能接纳32位的客户端 2 下载oracle32位客户端 http://www.oracle.com/technetwork/topics/winsoft-085727.htm ...

  4. windows 2003 server 64 位 IIS 6下部署 32位网站

    在 C:\WINDOWS\system32\inetsrv\MetaBase.xml 设置节点 在 开始--->运行--->输入一下代码,回车即可,就会跳出正在安装NET2.0 代码为   ...

  5. debian 64位系统中添加对32位的支持

    dpkg --add-architecture i386 apt-get update apt-get install ia32-libs

  6. 64位系统下注册32位dll文件

    64位系统下注册32位dll文件 在64位系统里注册32位软件所需的一些dll会提示不兼容,大概因为32 位进程不能加载64位Dll,64位进程也不可以加载32的导致. 若要支持的32 位和64 位C ...

  7. C# 第三方DLL,可以实现PDF转图片,支持32位系统、64位系统

    itextsharp.dll,是一个开源的在C#中用来生成PDF文档的库文件,不少C#爱好者用它制作出了PDF文档生成器.使用时只需在你的C#项目中添加引入此组件即可,使用方法网上有很多,自己查阅一下 ...

  8. 64位系统下注册32位dll、ax文件

    64位系统下注册32位dll.ax文件. 换了64位系统遇到的新问题,目前常用的影音处理软件多数为32位. 注册这些32的滤镜会提示不兼容,大概因为32 位进程不能加载64位Dll,64位进程也不可以 ...

  9. Windows2003 IIS6.0支持32位和64位两种模式的设置方法

    IIS 6.0 可支持 32 位和 64 位两种模式.但是,IIS 6.0 不支持在 64 位版本的 Windows 上同时运行这两种模式.ASP.NET 1.1 只在 32 位模式下运行.而 ASP ...

随机推荐

  1. 远程批量获取Linux和Windos操作系统版本(内核)

    在不登录远程主机的情况下,可以查看远程主机的服务器操作系统版本(内核). 脚本执行前提: 1.拷贝check_snmp到脚本执行的主机中或在此主机中安装nagios; 2.保持list.txt中只有一 ...

  2. 学习JS的心路历程-范围Scope和提升(Hoisting)

    在上一篇提到了JS有三种声明变量的方式,分别是var.const及let,var和const let最大区别就是范围(scope)的限制.所以在这一篇我们会详谈何谓范围链及他们的复写优先级. 范围Sc ...

  3. Beanutils.copyProperties( )的使用与优化

    1.使用原因 因为现在都是前后端分离所以我们在响应APP端或者前端的时候会维护一套VO,那么DTO到VO的转换便是一堆get... set...这样的代码,比如好几个地方用到的话还要去复制粘贴来转换. ...

  4. Java NIO Tutorial

    Java NIO Tutorial     Jakob JenkovLast update: 2014-06-25

  5. yyyy-MM-dd 转换为年月日

      yyyy-MM-dd 转换为年月日   先用parse转成date型,再用format转成string. Date date = new SimpleDateFormat("yyyy-M ...

  6. java 集合 Se HashTreeSet

    Set接口  Set是Collection的子接口,与List相对 Set集合中的元素的特点是1,无序性 2,无下标3,无重复的元素 Set是个接口,所以无法直接创建对象,要依赖它的实现类来创建对象  ...

  7. Steering Behaviors

    [Steering Behaviors] 1.Seek 下述的算法是一个基本Seek行为,但不带任何Steering输出的力.在该公式作用下,游戏个体的移动方式是直线型的,如果target的位置变了的 ...

  8. SVN基本页面

  9. EVIL TWIN AP

    git clone https://github.com/P0cL4bs/3vilTwinAttacker.git cd 3vilTwinAttacker/ ./installer.sh --inst ...

  10. mysql 定时备份任务

    备份方案: 本地备份并同步至远程服务器,保留30天数据 1. 本地数据库备份,备份数据库gold_ecooy,naiang#!/bin/bash#xliang#Created Time: 2018-1 ...