【问题标题】:IIS Error - It is not possible to run two different versions of ASP.NETIIS 错误 - 无法运行两个不同版本的 ASP.NET
【发布时间】:2013-09-26 01:42:39
【问题描述】:

我的 IIS 6.0 服务器上反复出现此错误:

不可能同时运行两个不同版本的 ASP.NET 相同的 IIS 进程。请使用 IIS 管理工具 重新配置您的服务器以在单独的进程中运行应用程序。

但是,我运行 IIS MetaBase Analyzer 来查看它们正在运行的所有 AppPools 和 AspNetVersions,但没有看到任何 AppPools 运行不同版本的 AspNet。这是 IIS 中的错误还是肯定存在运行多个版本的 AspNet 的 AppPool?

谢谢

【问题讨论】:

  • 这意味着您有多个应用程序(站点或虚拟目录)使用同一个 appPool,但其中一个站点/应用程序在 .NET 选项卡中具有不同的 .NET 版本设置。您必须创建另一个 appPool 才能使用不同的 .NET 版本,或者再次检查所有应用程序的 .NET 设置。
  • @dirt 正确,我了解错误的性质,但我查看了每个网站和 AppPool 并没有看到这种情况发生。我没有看到在其下运行多个版本的 AspNet 的 AppPool;这就是让我感到困惑的原因。
  • 尝试在记事本中编辑 .xml 文件并搜索您在 GUI 中找不到的版本号
  • 除非您需要应用程序共享一个应用程序池,否则为每个应用程序创建一个应用程序池,包括默认应用程序池(在根目录下)。我猜您的诊断程序没有显示任何运行 2 个版本的内容,因为第 2 个版本无法启动并且您不会观察到加载了两个运行时间的 appdomain
  • 能否升级到 IIS 7.0 或 7.5?这是一个有用的链接:stackoverflow.com/questions/7551034/…

标签: iis application-pool


【解决方案1】:

虽然这是一个老问题,但为了将来访问这个尚未回答的问题的用户的利益,这里是对我有用的解决方案。

就我而言,以下方法有效。

症状:

IIS Admin 的“默认网站”节点的 ASP.NET 选项卡显示的是 1.1 版本。 我的虚拟目录应用程序的 ASP.NET 选项卡显示的是 2.0 版本(这对我的应用程序来说是正确的)。

解决方案:

我将第一个从 1.1 更改为 2.0。该应用程序有效。

原因:

然而,原因似乎“神秘地无关”,因为它经常发生在 Windows 中。直到一周前,它在相同的旧(不同)设置下都可以正常工作。这周发生的事情是,为我的 Web 应用程序运行 Web 服务器的机器 A 必须取消加入域 B 并加入另一个域 C,因为 B 上的主域控制器发生故障,必须用 C 替换。为什么地球会影响 IIS Admin 或托管在 A 上的 Web 应用程序,为什么它会产生这个特定的错误超出了我的理解。这种错误的原因似乎没有记录。

【讨论】:

    【解决方案2】:

    不可能在同一个 IIS 进程中运行两个不同版本的 ASP.NET。这意味着您有多个应用程序(站点或虚拟目录)使用同一个 appPool,但其中一个站点/应用程序在 .NET 选项卡中具有不同的 .NET 版本设置。您必须创建另一个 appPool 才能使用不同的 .NET 版本。 要创建另一个 appPool 并将其关联到您的应用程序,请执行以下操作 (Windows Server 2003): 1. 单击开始,指向所有程序,指向管理工具,然后单击 Internet 信息服务 (IIS) 管理器。 2.在 Internet 信息服务 (IIS) 管理器中,展开,右键单击应用程序池,指向新建,然后单击应用程序池 3.右键单击使用不同 .NET 版本的应用程序,然后单击属性 4.在菜单Virtual Directory中,在Application Pool项中选择您在第2点创建的应用程序池。

    问候!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-25
      • 2010-12-19
      • 1970-01-01
      • 2015-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多