最近在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. Ubuntu Spark 环境搭建(转)

    在安装Spark之前,我们需要在自己的系统当中先安装上jdk和scala 可以去相应的官网上下载: JDK:http://www.oracle.com/technetwork/java/javase/ ...

  2. 学习BOS物流项目第十天

    1 教学计划 1.演示权限demo 2.权限概述 a. 认证 b. 授权 3.常见的权限控制方式 a.  url拦截权限控制 b.  方法注解权限控制 4.创建权限数据模型 a.  权限表 b.  角 ...

  3. linux 安装nexus3

    准备工作: 环境:linux 系统:centos6.4-x86-x64 安装工具:nexus-3.14 软件下载:nexus-3.14 官网下载地址:点击打开链接 将下载的压缩包通过xft5上传至/o ...

  4. akka共享内存

    Akka共享内存 Akka中的共享内存是基于Actor模型的,Actor模型提倡的是:通过通讯来实现共享内存,而不是用共享内存来实现通讯,这点是跟Java解决共享内存最大的区别,举个例子: 在Java ...

  5. maven自动部署Tomcat错误排除

    转自:https://blog.csdn.net/wuha0/article/details/18658113 在Maven与Tomcat配合部署过程中,最常见的错误有三种,折腾了半天,终于找到三种错 ...

  6. cakePHP的ajax弹出窗

    在html里添加一个触发弹出框的按钮 $("#button1").on("click", function() { $("#dialogue" ...

  7. Light Explorer

    [Light Explorer] The Light Explorer allows you to select and edit light sources. Window> Lighting ...

  8. SpringMVC点滴(1)

    在使用springMVC很久,却一直没有总结其中的一些便捷配置和功能,恰好有空,加以总结 Servlet 3之后,在web.xml中加入async的支持,从而实现异步请求,需要在servlet和fil ...

  9. Python 函数内变量的作用域

    Python程序中创建.改变.查找变量名时,都是在一个保存变量名的空间中进行,我们称之为命名空间,也被称之为作用域. 全局作用域(global):即在模块层次中定义的变量,每一个模块都是一个全局作用域 ...

  10. 以字符串形式获取excel单元格中的内容

    public static String getCellValue(XSSFCell cell) { if (cell == null) { return ""; } switch ...