gpt4 book ai didi

asp.net - 带有 IIS 6.0 和 .Net 4 的 Default.aspx?

转载 作者:行者123 更新时间:2023-12-04 09:00:07 27 4
gpt4 key购买 nike

  • 我们已经在 IIS 6.0 上部署了一个 .net 4 asp.net 站点。
  • Default.aspx 被配置为默认文件之一。
  • 当我们使用以下网址访问网站时
  • http://testsite
    我们希望它呈现
    http://testsite/Default.aspx
    但是我们得到了 404 Not found error .当它部署在 .Net 2.0 上时,我们没有遇到这个问题。服务器上唯一改变的是我们使用 .NET 4 而不是 .NET 2.0。

    更新 : 我尝试了以下链接,但没有奏效。

    Getting an ASP.NET 4 application to work on IIS6

    服务器上的框架版本是 .NET 4 RC。如果我们在服务器上安装最新的 .NET 4 版本会有帮助吗?

    更新:现在问题已解决。问题是我们使用的第三方上传控件在 Web.Config 中添加了自己的 HttpHandler。这个 HttpHandler 在 .NET 4 中开始失败。

    最佳答案

    使用新的 .NET 4 框架,如果您在 IIS 6 Windows Server 上运行它,则会出现一些问题。 IIS 6 不允许您同时在同一个实例中运行多个框架,如 IIS7 可以创建针对不同框架的应用程序池。
    当 IIS 6 在 ASP.NET 2.0(3.0 和 3.5 是超集,而不是框架)下运行时,如果应用程序是 4.0,您将遇到此错误
    配置错误
    说明:在处理为该请求提供服务所需的配置文件期间发生错误。请查看下面的特定错误详细信息并适当修改您的配置文件。
    解析器错误消息:无法识别的属性“targetFramework”。请注意,属性名称区分大小写。

    Source Error: 
    Line 11: </configSections>
    Line 12: <system.web>
    Line 13: <compilation debug="true" targetFramework="4.0">
    Line 14: </compilation>
    Line 15: <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/> </ system.web>

    你有几个选择;
  • 将 .NET 应用程序降级到 3.5,Visual Studio 2010 使它变得非常容易。只需转到网站属性 -> 应用程序选项卡,有一个包含所有框架版本的下拉列表,选择 3.5,您 VS2010 将重新加载项目并修改 web.config,如果您添加了 web 服务引用,您可能需要删除它们并在 3.5 下重新添加
  • 配置IIS6和web config来解决这个问题。
    我处理第二部分:
  • 在 IIS 6 控制台中,您需要右键单击您的项目并单击属性并检查 ASP.Net 选项卡是否选择了 Framework 4。如果没有选择框架 4。

  • 但由于应用程序池的原因,您仍然可能面临同样的错误;对于两个不同的框架 Web 应用程序,您可能有相同的应用程序池。
    IIS 6 不允许您在同一实例中同时运行多个框架(意味着单个应用程序池不能用于两个不同的框架),如 IIS7 可以创建针对不同框架的应用程序池。
  • 要解决此问题,您需要创建应用程序池并将此应用程序池分配给您的框架 4 Web 应用程序。
    要分配应用程序池,请在 IIS 控制台中打开 Web 应用程序的属性部分,然后单击“主目录”选项卡并从下拉列表中选择您之前创建的应用程序池。
  • 这两个现在可能会在某个时候完全解决您的问题。你可以得到错误
    “未找到 404 页面”。
    尽管您现在可能在开发期间遇到任何问题。
  • 基本上找不到页面问题是由 IIS6 设置隐藏的其他问题的原因。但你需要看到真正的原因。您在这里要做的是转到 IIS6 控制台打开“Web 服务扩展节点”,它就在“默认网站”节点的正下方。您将在那里看到整个 ASP.Net 框架列表,默认情况下这些框架可能被禁止,因此请选择 ASP.Net Framework 4 并单击允许按钮。
    现在浏览您的网站,除了“404 页面未找到”之外,您还会收到其他错误消息。您可能会收到如下所示的错误:
  • 提供程序选项中“compilerVersion”属性的值必须为“v4.0”
    浏览网站时会出现以下错误
    如果您为 .NET Framework 4.0 或更高版本进行编译,则提供程序选项中“compilerVersion”属性的值必须为“v4.0”或更高版本。要为 .NET Framework 3.5 或更早版本编译此 Web 应用程序,请从 Web.config 文件的元素中删除“targetFramework”属性。
    要解决此问题,您需要修改您的 Web 配置文件,如下所示:

  • 以前 CompilerVersion 值设置为 v3.5,但我们已经将 targetFranework 更改为 4。因此,根据上面的错误消息,如果您正在编译版本,则提供程序选项中的 'compilerVersion' 属性必须为 'v4.0' 或更高版本.NET Framework 4.0 或更高版本。
    Hence your new setting will be as below:

    <providerOption name="CompilerVersion" value="v3.5"/>

    希望这将解决您在 IIS6 上的 ASP.Net 4 迁移和托管问题。

    关于asp.net - 带有 IIS 6.0 和 .Net 4 的 Default.aspx?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2821514/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com