我测试了visual 2017提供的默认MVC模板,并在我的本地机器上的 IIS 10 上进行了测试,并且运行良好。
当我在 Windows Server 2012 R2(IIS 8.5)或 Windows Server 2008(IIS 7)上测试它时,我收到很多错误,我所能做的就是查看根目录中的文件列表,而不是呈现的网站。
为了获得 IIS 10 能够运行的网站,我在 Visual Studio 中调试该应用程序,然后找到 IIS express 正在使用的该应用程序的路径,然后将其复制到 IIS 可以访问的文件夹中,在 IIS 10 中它运行良好,但在 IIS 7.0 和 IIS 8.5 中却无法使其工作。
请帮帮我。我能做什么?
更新:
我目前正在安装 w2012r2 系统上的更新,其中包括 .net 框架的更新
答案1
您不需要对 MVC 应用程序进行任何操作即可使其与 IIS 7 - 10 兼容。
您只需要确保服务器和 IIS 配置正确:
- 确保您所需的.NET 版本已安装在服务器上。
- 确保 ASP.NET 作为 IIS 的一部分安装。
- 确保您使用的应用程序池设置为您的框架版本。
- 您还应该关闭生产服务器上的目录浏览。
网上有很多关于如何配置 IIS 和 ASP.NET 的资源
我收到很多错误
如果您希望别人帮助您,则帮助不大,您需要详细列出错误。
答案2
所以我最终解决了这个问题。
我必须允许在 IIS 7 中目录浏览。
还在我的 web.config 文件中添加了以下几行。
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
最后,我必须运行以下命令:(解释)
aspnet_regiis.exe /iru