在Windows Server 2008 R2上部署ASP.NET MVC 3时出现403错误

3
我正在将一个MVC3应用部署到新服务器上。该应用程序在开发服务器(Visual Studio)和我的开发机器上的IIS7下运行良好,但在服务器上我得到了403错误:
我已经完成了以下步骤,但现在想不出其他办法了,请帮忙!
- 使用与在开发机器上相同的xcopy部署技术,我已经将文件部署到服务器,并添加了以下文件夹权限: - IUSR - 读取和执行、列出文件夹内容、读取 - IIS_IUSRS - 读取和执行、列出文件夹内容、读取 - 我还在服务器上安装了ASP.NET MVC3,因此额外需要的.dll文件在GAC中。 - 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

你尝试过使用Visual Studio向导部署新创建的应用程序吗? - Darin Dimitrov
服务器上未安装Visual Studio。 - gbro3n
我本意是让你在本地开发机器上创建这个项目,然后部署它。我想了解的是你是否在配置IIS方面遇到了问题,还是你的应用程序出现了问题。 - Darin Dimitrov
我已经在本地机器上将其分别部署在IIS而不是开发服务器下。它可以正常工作,但只是在服务器上无法工作。 - gbro3n
嗯,“您没有权限查看…”让我认为您遇到了这个问题。无论如何,祝您的项目好运。 - Dynamikus
1个回答

7

好的,找到了问题。以下是解决方案,以防其他人遇到同样的问题:

我使用的服务器在安装IIS之前必须已经安装了.NET 4。这意味着.NET 4尚未向IIS注册。

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

这使我想起了一个stackoverflow的帖子,指导我去hanselman.com

简而言之,我必须在服务器上安装VS2010,这样我就有了Visual Studio命令提示符,并在命令行中将.NET 4注册到IIS。

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位安装目录中运行此命令。

或者,为了以后的参考,请在构建机器或虚拟机时尝试先启用IIS和ASP.NET扩展选项。这样,当随后安装VS 2010或.NET时,安装将自动检测到IIS的存在,并自动注册它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接