[转]同时安装并运行.net 1.1 和 .net 2.0 两个版本的问题

from:http://topic.csdn.net/t/20060219/22/4564892.html

我的系统同时安装了.NET   Framework   1.1和2.0,系统为WIN   2003,开始一直运行着.NET   1.1,有一天我运行了一次.NET   2.0的程序,IIS提示我不能运行.于是我重装了IIS,并在VS   2005的命令提示符下使用aspnet_regiis   -i   重新安装了一下.NET   2.0,这时候.NET   2.0的程序运行和调试都没有问题了,可以.NET   1.1的程序在用VS.NET   2003调试的时候有问题了...  
   
  总之,我再重装IIS后,在一个IIS上运行两个版本的.NET就总会出问题,请问应该怎么解决这个问题啊.  
  我把1.1和2.0和IIS全部卸掉,再一个个装一下可以吗,谢谢!@@
--------
如果是windows   2003的话要注意程序池的问题。  
   
  规则就是同一个程序池不能同时有两种版本的程序在运行。  
   
  例如DefautAppPoll,如果你有一个程序A是1.1的,还有一个程序B是2.0的,那么不能把他们的程序池都设置成DefautAppPoll。分开设置就好了。

------------------------------------------------------------------------------------------------------

from : http://hi.baidu.com/spanlessbug/blog/item/d83ac11084bc2902203f2e58.html

您的项目是不是时不时会出现 Server Application Unavailable 错误呢?或者一直连续都出这个错误!
             
今天我朋友将其从1.1升级至2.0的项目发布至公司安装有windows
2003的服务器上,结果2.0的项目始终无法成功运行。甚至还造成服务器上正在为全公司服务的基于.net Framework
1.1的web程序出错。他感觉很奇怪,在自己电脑上明明运行的很好啊,怎么一到服务器上就不行了?
              他发布2.0
web程序的过程如下:

        
1、在服务器上创建一个目录,然后将发布后的所有Web程序的文件复制到这个新建的目录。
         2、在服务器的IIS上新建一个虚拟目录,然后
将其配置成可以执行脚本的应用程序,(过程与创建.net Framework 1.1版本的程序相同。) 然后,将此虚拟目录的.net Framework
配置成2.0。
      大功告成后,开始访问刚配置的程序,却得到如下错误:

Server Application
Unavailable

The web application you are attempting to
access on this web server is currently unavailable.   Please hit the "Refresh"
button in your web browser to retry your request.

 

Administrator Note: An error message detailing the cause of this
specific request failure can be found in the application event log of the web
server. Please review this log entry to discover what caused this error to
occur.

       之后向我求助,经过仔细阅读了IIS帮助文档,才发现,原来这个错误是由
IIS6 应用程序隔离机制造成的。IIS默认的应用程序隔离机制被称为:“工作进程隔离模式”,在此模式中,应用程序被分为多个组,每个组就是一个“应用程序池”
,每个应用程序池之间是相互隔离的。 隔离的好处当然就是安全啦,稳定啦,等等。IIS中的每个应用程序池由一个“工作进程”分别进行管理,也就是"W3wp.exe"
。如果有多个应用程序池中的程序运行,我们就能看到多个w3wp.exe。 我们平时新建的虚拟目录都默认被指向IIS6的“DefaultAppPool" 中,
所以在默认情况下,不管你有多少个asp.net程序在运行,在“Windows任务管理器”中你只能看到一个w3wp.exe进程。

      
出现上述错误的原因是: .net Framework 2.0的程序与.net
Framework1.1(或1.0)的程序被放入同一个应用程序池(默认情况下放入DefaultAppPool池),也就是由同一个工作进程: w3wp.exe
进行管理,而单个工作进程是无法同时管理不同的程序(或者不同版本的程序)的。如果先访问.net framework 1.1的页面,则工作进程先加载并管理了
1.1版本的程序集,此时访问.net framework 2.0的web程序页面,Server
Application Unavailable 错误就出来了。 反之,如果在默认应用程序池的w3wp.exe尚未启动前先访问了 2.0的web程序(此时应用程序集已经加载了.net
framework2.0的Web程序集),再访问1.1或1.0的Web程序页面时,同样会出现“服务器应用程序不可用”   这样的中文提示。(您可以结束掉以前的w3wp.exe进行测试。)
    
    
我朋友之所以在自己的开发机器上没出现此错误是因为他在开发基于.net framework
2.0的项目时,一直都只访问这个2.0的web程序,跟本未曾访问过其他web程序。而朋友的服务器上已经存在1.0 的项目,并且一直有人使用。这个错误在今天之前从未碰到过,其实大部分人在开发一个项目时,都只访问正在开发的项目。很有可能就忽略了这个问题,而到了发布的时候却出现错误,搞得手忙脚乱。

   解决办法: 在IIS中新建一个应用程序池,然后选中你的 基于.net
framework2.0的虚拟目录,点“属性”-》在“应用程序池” 中选择刚才新建的的应用程序池,点击“确定”。

    
如果你的电脑主要是为了学习,开发,测试web程序,完全可以建一个类似于名为"dotnet2.0"的应用程序池,以后所有新建的2.0的虚拟目录都指向此应用程序池。
    
    [2006-03-16 更新] :
如果通地vs 2005IDE 直接创建在IIS 上创建Web Site时,vs 2005会自动添加 ASP.NET 2.0 应用程序池,并且将新创建的Web
Size 虚拟目录指向新建的应用程序池。

时间: 2024-10-22 20:20:39

[转]同时安装并运行.net 1.1 和 .net 2.0 两个版本的问题的相关文章

靠谱助手安装和运行使用的详细图文教程

靠谱助手是靠谱社区开发的一款安卓模拟器管理软件,帮助您有效的管理安卓模拟器上的应用.下面给大家带来一篇靠谱助手的新手教程,希望对新手使用靠谱助手有帮助! 安装与运行 首先,要想在电脑上运行安卓应用,推荐装两个软件: 1.安装靠谱助手 立即下载 首先安装好靠谱助手,安装完毕后,双击图标启动 切换到"安装检测"标签,先对你的电脑环境进行一次检测,以确保是否可以安装安卓模拟器. 检测完毕,如果有项目不符合,则无法立即安装安卓模拟器,需点击不符项的"查看解决方案"进行解决.

Windows7系统程序因为系统安全导致无法安装或运行的方法

解决Windows7系统程序因为系统安全导致无法安装或运行的方法: a.一开始双击运行某程序的"setup.exe"文件时,鼠标指针在"转了几个圈"消失后,就没有了反应. b.然后,就以兼容的方式运行程序,但软件依然没有反应,在他右键查看程序属性时,在属性窗口的最下方,它发现该程序被Windows 7锁定.Windows 7提示该文件来自其他计算机,被系统阻止. c.点击"解除锁定"按钮,再点击"确定"按钮,即可解除程序被锁定

CssGaga安装配置:运行环境/下载/配置

文章简介:CssGaga安装配置:运行环境/下载/配置. 1. 安装Microsoft .NET Framework 3.5 下载 Microsoft .NET Framework 3.5 注:Windows Vista. Windows 7已集成 2. 下载CssGaga最新绿色版并解压到本地 CssGaga Download 3. 更改配置文件CssGaga.exe.config <!-- 本地路径 --> <add key="pathSource" value=

DriverStudio套件包的安装与运行环境设置

硬件和软件需求 在安装该产品前最好将你的系统进行备分.下列是安装和运行DriverStudio 所需的要求: · PC-compatible Intel x86 系统 · Microsoft Windows NT 4.0 (Service Pack 3 or later), Windows 2000, Whistler Build 2296. (Optional: 其中一些工具也支持 Windows 98 和 Windows 95.) · 内存: 最少32 MB, 推荐使用64 MB · 硬盘:

BigBench on MaxCompute 基准测试套件简明安装与运行指南

先决条件 注册阿里云账户 MaxCompute客户端软件 (推荐使用0.27.0或以上版本) ,详情请见:安装并配置客户端 Java 1.7 (Oracle/OpenJDK) 或以上版本 (推荐使用64位版本) . 下载BigBench 套件 请点击此链接,下载BigBench on MaxCompute套件. 或直接访问以下该项目的github地址以获取BigBench on MaxCompute 套件. 配置BigBench on MaxCompute 编辑engines/maxcomput

Android公共库(缓存 下拉ListView 下载管理Pro 静默安装 root运行 Java公

最新内容建议直接访问原文: Android公共库(缓存 下拉ListView 下载管理Pro 静默安装 root运行 Java公共类) 总结的一些android公共库,包含缓存(图片缓存.预取缓存).公共View(下拉及底部加载更多ListView.底部加载更多ScrollView.滑动一页Gallery).及工具类(下载管理.静默安装.shell工具类等等). 具体使用可见总结的一些android公共库.Demo APK地址见TrineaAndroidDemo,主要包括: 一. 缓存类 主要特

打包-使用eclipse打的apk包忽大忽小,安装后运行程序失败,什么原因?

问题描述 使用eclipse打的apk包忽大忽小,安装后运行程序失败,什么原因? 使用eclipse不混淆打的正式签名apk包忽大忽小,我的apk理论打包是5021K,但是每次打包都不一样,有时是4888K,有时是5006K,始终达不到正常的5021K,安装后运行程序,一闪而过,直接失败,什么原因? 解决方案 你运行失败得查看log. 解决方案二: 应该是eclipse的错误检测吧,好像是有的代码不符合规范.打开eclipse Preferences 选择 Android 下 Lint Erro

安装并运行RunC

本文讲的是安装并运行RunC,[编者的话] Docker 是时下最为流行的开源容器技术,而 runC又是opencontainer发布的一款根据OCF 规范批量生成和运行容器的CLI工具.现在让我们来认识一下这个工具. Get runC 在旧金山举行的DockerCon大会上,开放容器项目和一个运行容器的CLI工具runC同时和大家见面.runC是libcontainer的一层包装(wrapper ). 它是Docker捐献给开放容器项目用来作为参考实现的.这听起来很有意思,尤其是主要的供应商是

matlab 7.0安装后运行报错

问题描述 matlab 7.0安装后运行报错 在安装MATLAB7.0时,需要输入序列号,我就在网上搜索了一个,安装好后运行报了很长串的一个错误,都是以Javax开头的,求解决,还卸载不掉 解决方案 是win7 系统吧,新的系统上安装旧的matlab 版本可能就不兼容,现在都matlab2014b 出来了,最好安装2010之后的. 至于卸载,在win7下先修改win7的主题,改为windows经典主题,以后再卸载.