【问题标题】:Windows Server 2012 with ASP.net 1.1?带有 ASP.net 1.1 的 Windows Server 2012?
【发布时间】:2013-08-22 15:50:29
【问题描述】:

是否可以在 Windows Server 2012 上安装 ASP.net 1.1?有一些遗留应用程序目前移植起来过于耗时/昂贵。

我能够在 Windows Server 2008 上完成一个复杂的过程,在那里我组装了一个安装程序包。不确定同样的事情是否适用于 Server 2012。

有人有过这个工作的经验吗?

【问题讨论】:

  • 您是否尝试过简单地设置程序集绑定重定向并尝试在 4 下运行它?你知道有一个重大变化吗? msdn.microsoft.com/en-us/library/433ysdt1.aspx
  • 你还会问这个关于 Windows Server 2022 的问题吗?
  • “移植”不应该太多 - 只需重新编译和测试即可。
  • 约翰,可能是喜欢我们拥有的无故障系统的雇主。丹尼尔,有些程序集我们没有源代码。我想我可以尝试在 .Net 2.0 中设置它,看看问题可能出在哪里。

标签: asp.net windows-server-2012 asp.net-1.1


【解决方案1】:

可以让 ASP.NET 1.1 工作..

我刚刚获得了一个依赖 ASP.NET 1.1 在 Server 2012 R2(即 IIS 8.5)上运行的站点,使用以下步骤:

  • 安装“IIS 元数据库兼容性”
  • 安装 .NET Framework V1.1 和 .NET Framework V1.1 SP1
  • 启用 ASP.NET V1.1 ISAPI 扩展 - 允许 ASP.NET 1.1
  • 将 IgnoreSection 处理程序添加到 V1.1 Machine.config
  • 更新网站以使用 ASP.NET 1.1 应用程序池

http://www.iis.net/learn/install/installing-iis-7/how-to-install-aspnet-11-with-iis-on-vista-and-windows-2008

  • 从 ISAPI 过滤器中删除了双斜线。

https://community.rackspace.com/products/f/25/p/820/4868.aspx#4868

  • 将 machine.config 文件复制到 .net 1.1 的 64 位框架文件夹中。

    (虽然我在 32 位模式下运行应用程序池,所以这可能不适用)

https://community.rackspace.com/products/f/25/t/820

  • 将以下“处理程序”覆盖添加到网站 web.config。

(注意system.webServer元素可能已经存在)

<system.webServer>
    <handlers>
        <add name="ASPNET-ISAPI-1.1-WebServiceHandlerFactory" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.Net\Framework\v1.1.4322\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv1.1,bitness32" />
        <add name="ASPNET-ISAPI-1.1-SimpleHandlerFactory" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.Net\Framework\v1.1.4322\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv1.1,bitness32" />
        <add name="ASPNET-ISAPI-1.1-HttpRemotingHandlerFactory-soap" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.Net\Framework\v1.1.4322\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv1.1,bitness32" />
        <add name="ASPNET-ISAPI-1.1-PageHandlerFactory" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.Net\Framework\v1.1.4322\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv1.1,bitness32" />
        <add name="ASPNET-ISAPI-1.1-HttpRemotingHandlerFactory-rem" path="*.rem" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.Net\Framework\v1.1.4322\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv1.1,bitness32" />
        <remove name="ASPNET-ISAPI-1.1-AXD" />
        <add name="ASPNET-ISAPI-1.1-AXD" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Script" preCondition="classicMode,runtimeVersionv1.1,bitness32" />
    </handlers>
</system.webServer>

http://skills2earn.blogspot.co.uk/2015/01/run-aspnet-website-with-net-framework.html

正是这最后一步让我猜了很久。

【讨论】:

  • 来自@Snehil-Jain 的 NAA 的评论:嗨 Chris Moutray。 Win Server 2008 R2 具有 IIS 版本 IIS 7.5 而不是 IIS 8.5。 Win Server 2012 R2 具有 IIS 版本 8.5。请进行更新。
【解决方案2】:

.NET 1.1 在 2012/Windows 8 上不受支持。

我引用:

无法手动安装 .NET Framework 1.1 Windows 8、Windows 8.1 预览版、Windows Server 2012 或 Windows Server 2012 R2 预览版。

http://msdn.microsoft.com/en-us/library/hh925570.aspx

【讨论】:

  • 根据克里斯的以下回答,这是可能的。支持和可能是非常不同的途径。
【解决方案3】:

几天来,我一直在努力解决这个问题!现在它工作了!我遵循了上面@Chris Moutray 描述的所有步骤,除了

在步骤:

将 machine.config 文件复制到 .net 1.1 的 64 位框架文件夹中。 (虽然我在 32 位模式下运行应用程序池,所以这可能不适用)

我通过运行以下命令引用了 32 位框架

MKLINK /d c:\Windows\Microsoft.NET\Framework64\v1.1.4322 c:\Windows\Microsoft.NET\Framework\v1.1.4322

如所述从下拉列表中获取 .net 1.1 在:http://www.uhleeka.com/blog/2009/08/how-to-install-asp-net-v1-1-with-iis7-on-windows-2008-x64/

【讨论】:

  • 我喜欢这种方法(创建一个符号链接,而不是将实际的 32 位文件夹复制到 Framework64 文件夹),又好又干净。在我的例子中,这使得 .NET CLR 版本 v1.1.4322 出现在 IIS 的应用程序池下拉列表中。
  • 就其本身而言,这并不是一个真正的答案,它似乎应该是添加到 Chris Moutray 的答案上的评论。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多