IIS 7.5,Windows 7 专业版和 MVC4

IIS 7.5, Windows 7 Professional and MVC4

我正在尝试加载我的 MVC4 应用程序之一,但遇到了困难。这是在本地开发环境 运行 Windows 7 Pro SP1、IIS 7.5、VS2015、.NET 4.6.1 作为目标 .NET 版本和 MVC4。在这个特定的应用程序上,我收到 HTTP 错误 403.14 - 禁止访问。我在同一个 AppPool 中还有其他 MVC 应用程序 运行,并且这些应用程序正确加载。无需在 IIS 中打开目录浏览,这是我不想做的。在我的 web.config 的 system.webServer 部分,我有

<remove name="ExtensionlessUrlHandler-Integrated-4.0" /> <remove name="OPTIONSVerbHandler" /> <remove name="TRACEVerbHandler" /> <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />

但即使我删除了上面的代码块,我仍然收到 403.14 错误。 我试过 运行:

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir

但这并没有解决问题。我还尝试了微软为 ExtensionlessUrlHandler 提供的修补程序,但也没有用。我尝试设置 runAllManagedModulesForAllRequests="true" 也没有用,我不想在生产中启用它。我还尝试如下添加 UrlRoutingModule-4.0,但这也没有解决问题。

<system.webServer> <modules> <remove name="UrlRoutingModule-4.0" /> <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" /> </modules> </system.webServer>

我的 RouteConfig 没有更改 {id} 的任何内容。

我确保安装了 .NET 4.6.1 以及 .NET Extensibility。我比较了 IIS 中工作应用程序和非工作应用程序之间的配置,没有发现任何明显差异。我还比较了文件夹权限。

有人遇到过这样的问题吗?我错过了什么吗?

希望对您有所帮助。

1.Check Directory Browsing of your website if it is enable or not.
   Just Click your deployed website and double click Directory browsing tab.
2.Check project framework in application pool, it must be the same.
3. Check also user permission of your website.

索引控制器:

public ActionResult Index()
{       
   return View("~/Views/Home/About.cshtml");
}

public ActionResult Index()
{
    return View();
}

祝你好运!

在回家的路上,我开始思考所有我比较过的东西,并意识到我没有比较的一件事是 Web 应用程序根目录中的实际目录和文件。比较后,我在应用程序的根目录中遇到了一个名为 PrecompiledApp.config 的文件,我无法加载它不在其他可用应用程序的根目录中。一旦我删除了应用程序加载的文件。