Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows server 2008 R2上的.NET Framework 4 RTM_.net_.net 4.0_Windows Server 2008 - Fatal编程技术网

Windows server 2008 R2上的.NET Framework 4 RTM

Windows server 2008 R2上的.NET Framework 4 RTM,.net,.net-4.0,windows-server-2008,.net,.net 4.0,Windows Server 2008,我刚刚在Windows SErver 2008 R2 x64上安装了.NET 4,我收到一个ASP.NET MVC应用程序的500个内部服务器错误,该应用程序以前在3.5上运行良好。该应用程序从targeting 3.5升级到target 4,我今天亲自在我的开发机器上构建了它(在VS-Properties中更改为.NET Framework 4) 在服务器上,我通过Web平台安装程序自动安装了.NET Framework 4客户端配置文件和完整配置文件。ASP.NET MVC 2也通过平台安装

我刚刚在Windows SErver 2008 R2 x64上安装了.NET 4,我收到一个ASP.NET MVC应用程序的500个内部服务器错误,该应用程序以前在3.5上运行良好。该应用程序从targeting 3.5升级到target 4,我今天亲自在我的开发机器上构建了它(在VS-Properties中更改为.NET Framework 4)

在服务器上,我通过Web平台安装程序自动安装了.NET Framework 4客户端配置文件和完整配置文件。ASP.NET MVC 2也通过平台安装程序安装。我在IIS中创建了一个新的.NET4应用程序池,并将web应用程序放在其中

此外,我在web.config中关闭了自定义错误,但即使如此,也不会显示详细的错误-只有普通的IIS 7.5 500内部服务器错误


有什么建议吗?

嗯,这是一个非常奇怪和有趣的问题。。但我很乐意尽我所能帮助你。 我现在有一个带有Server2008R2的VPS,我在上面安装了.NET4RTM和MVC2。不要认为我遇到了配置问题,但我必须帮助其他人解决这个问题

起初,你能检查一下吗。。在IIS管理器、Isapi和Cgi限制中,是否有.NET4?哪个版本?它们是否已启用

如果你在IIS中访问你的应用程序池,你的应用程序池是否为新版本.NET 4?仔细检查此项,您的应用程序池可能被设置为不同的.NET 4 framework版本,该版本已被删除/禁用。你可以尝试用一个新的干净的应用程序池创建一个新网站,只是为了测试它是否有效

如果什么都不起作用,您可以尝试使用
aspnet\u regiis-i在IIS中重新注册.NET


如果这些都不起作用,我将尝试提供更多的选项/想法

我通常通过在IIS上重新安装ASP.NET支持文件来解决此类问题

  • 以管理员权限打开命令提示符(命令提示符、右键单击、以管理员身份运行)
  • 输入:

    cd%WINDIR%\Microsoft.NET\Framework64\v4.0.XX.XX

    aspnet\u regais-i


  • 完成了。您可能需要打开IIS并将应用程序池重新分配给新创建的“ASP.NET 4.0集成版”(或经典版)。

    我的ASP.NET MVC应用程序也存在一些小的兼容性问题。可能你也有同样的问题

    我使用
    NoSessionControllerFactory
    禁用基于和的会话状态。更新到.NET4.0后,我的应用程序无法运行。我还收到了500个内部服务器错误。从Global.asax.cs
    NoSessionControllerFactory
    进行了一些小的修改后,整个世界都很正常。固定代码如下所示:

    public class NoSessionControllerFactory: DefaultControllerFactory {
        protected override IController GetControllerInstance (RequestContext requestContext, Type controllerType) {
            if (controllerType != null) {
                var controller = base.GetControllerInstance (requestContext, controllerType);
                ((Controller)controller).TempDataProvider =
                    new DummyTempDataProvider ();
                return controller;
            }
            else
                return null;
        }
    }
    public class DummyTempDataProvider: ITempDataProvider {
        public IDictionary<string, object> LoadTempData (ControllerContext controllerContext) {
            return new Dictionary<string, object> ();
        }
        public void SaveTempData (ControllerContext controllerContext,
            IDictionary<string, object> values) {
        }
    }
    

    我打赌这是有关应用程序的配置问题。ASP.NET 4的配置不同于3.5


    另外,请确保您的web应用程序引用的DLL来自.NET 4,而不是.NET 3.5。

    您是否只在服务器或整个框架上安装了客户端配置文件?我建议首先打开错误,了解更多信息…@Mauricio:正如问题中所说,我安装了客户端配置文件@罗兰德:你是说开还是关?当前自定义错误已关闭,因此它应该显示详细的异常。MVC是否使用客户端配置文件运行?你试过安装完整的框架吗?我把这个问题留到.NET 4 RTM之前,现在我们有了它,我删除了RC并通过Web平台安装程序安装了4 RTM。同样的错误仍然存在,应用程序或系统日志中没有事件,什么都没有。我的配置很好,我有新的ASP.NET 4应用程序池。问题是我在虚拟目录中运行我的应用程序,而Web.Config继承似乎有问题。我刚刚测试了在IIS中创建一个新的根网站,并将其放入.NET 4集成应用程序池,效果良好。转到IIS管理器,检查“Isapi和Cgi限制区域”。如果.NET 4在那里-确保它被允许执行。如果.NET不在那里-你必须先运行“aspnet_regiis-i”。
    protected void Application_Start () {
        RegisterRoutes (RouteTable.Routes);
    
        // see https://stackoverflow.com/questions/884852/how-can-i-disable-session-state-in-asp-net-mvc
        ControllerBuilder.Current.SetControllerFactory (new NoSessionControllerFactory ());
    }