1

最近几天我一直在尝试将 MVC 4 应用程序部署到 Server 2008 R2 和 2012 上的 IIS 7.5 和 8 安装,但我基本上每次都遇到相同的错误:404 和“路径的控制器'/'未找到或未实现 IController。” 在两台服务器上,我都确保安装了 .NET 4、4.5 和完整的 MVC 4 堆栈。应用程序在 VS 2012 中的 IIS Express 上运行良好。

我尝试过的事情和结果:

  • 试图部署一个干净的 MVC 3 应用程序:工作;
  • 试图部署一个干净的 MVC 4 应用程序:不起作用;
  • 尝试部署一个干净的 ASP.NET 4 WebForms 应用程序:工作(我认为,这排除了 ASP.NET 托管功能是一个问题);
  • 尝试使用 .NET 4 而不是 4.5 部署 MVC 4 应用程序:不起作用(我认为,这排除了 .NET 安装的问题);
  • 尝试安装修补程序 980368:安装程序显示“此更新不适用于您的计算机”,因此可能已安装;
  • 确保应用程序池位于 .NET 4.0 上;
  • 确保正确设置所有文件权限;
  • 将 ExtensionlessUrlHandler-Integrated-4.0 上的动词更改为 *;
  • 添加了<modules runAllManagedModulesForAllRequests="true" />标签。

但仍然没有骰子......我已经阅读了许多类似于我遇到的错误的 SO 问题和其他网站,我想我已经尝试了我读过的所有提示,但也许我错过了一个关键的提示。

有没有其他人遇到过这些问题,可以给我我需要的修复?

4

1 回答 1

0

没错,看起来,将调试符号 (.pdb) 添加到 bin 文件夹会使应用程序重新开始工作,即使它是在发布模式下部署的。我会研究一下为什么会发生这种情况。

编辑:可以在这里找到答案:Removing .pdb from ASP.NET app on IIS break application

于 2013-03-27T16:15:13.317 回答