Windows Server 2008 R2上的ASP.NET MVC 3部署403错误

gb2*_*b2d 3 asp.net-mvc asp.net-mvc-3

我正在将MVC3应用程序部署到新服务器.应用程序在开发服务器(Visual Studio)上以及在我的开发机器上的IIS7下运行良好,但在服务器上我收到403错误:

在此输入图像描述

我已经完成了以下步骤,但现在已经没有想法了.请帮忙!

  • 使用我在开发机器上使用的相同xcopy部署技术,我已将文件部署到服务器并将以下权限添加到该文件夹​​:

IUSR - 读取和执行,列出文件夹内容,读取IIS_IUSRS - 读取和执行,列出文件夹内容,读取

  • 我还在服务器上安装了ASP.NET MVC3,因此GAC中需要额外的.dll

  • IIS已设置,我可以访问基本的html文件(例如我在站点路由中放入的test.html).

  • 我已在服务器管理器中检查了所有角色服务的安装

  • 尝试通过从MVC安装位置复制文件并放入bin目录来进行bin部署

C:\ Program Files(x86)\ Microsoft ASP.NET\ASP.NET MVC 3\Assemblies

C:\ Program Files(x86)\ Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies

gb2*_*b2d 7

好的,发现了问题.在这里,任何其他人都有同样的问题:

我正在使用的服务器必须在IIS之前安装.NET 4.这意味着.NET 4尚未在IIS中注册.

检查IIS配置时我注意到了这个问题.单击该网站的.NET编译图标会引发异常,可能是因为无法编译该应用程序.

这导致我进入堆栈溢出帖子,指示我到hanselman.com

简而言之,我必须在服务器上安装VS2010,因此我可以使用Visual Studio命令提示符,然后在命令行上使用IIS注册.NET 4.

IIS管理器无法在.NET 4应用程序上配置.NET编译

http://www.hanselman.com/blog/ASPNET4BreakingChangesAndStuffToBeAwareOf.aspx

关键部分:

"我安装了ASP.NET 4,然后安装了IIS."

如果先安装VS2010和/或.NET 4,然后再安装IIS,则需要确保IIS配置为了解ASP.NET 4,否则IIS将不知道如何运行ASP.NET 4应用程序.

有一个简单的解决方法

如果您已处于此状态,请转至命令行并导航至FX安装目录.然后运行"aspnet_regiis -iru".

请注意,如果您使用的是64位计算机,请从64位FX安装目录运行此命令 - 而不是32位安装目录.

或者为了将来参考,请在构建计算机或VM时首先尝试启用IIS和ASP.NET扩展性选项.这样,当随后安装VS 2010或.NET时,安装将自动检测IIS的存在并自动注册它.