我正在尝试使Visual Studio 2010在IIS 7.5的本地实例下运行我的项目,而不是启动Web开发服务器。将它部署到IIS没有问题,但是当我尝试浏览到该站点时,就像路由从未在IIS中注册一样,因为我收到错误“Web服务器被配置为不列出此目录的内容”。当我尝试浏览“http:// localhost / returnjson”时,当我浏览“http:// localhost / returnjson / Home / Index”时,我得到错误404.并且我的项目中的路线没有任何问题,它在Web开发服务器下工作。可能是什么问题?
答案 0 :(得分:5)
这里很难说出了什么问题但是你可以尝试一些事情。
您可能正在查看错误的应用程序。 IIS预先配置了一个默认应用程序,充当了catch all。任何未映射的域名都将在那里结束。因此,默认情况下,当您访问 localhost 时,您将最终到达那里。
如果您将应用程序部署到新的IIS站点,请确保将其绑定到myapp.local
这样的正确域名。然后将该域名添加到您的主机文件(%Windows%\System32\Drivers\etc\hosts
)并将其映射到IP 127.0.0.1。
另一件可能出错的事情是您的IIS配置有点搞砸了。它有时会发生。您可以使用aspnet_regiis进行修复,如下所示:
aspnet_regiis -ir
此工具位于:
%Windir%\Microsoft.NET\Framework\v4.0.30319
答案 1 :(得分:0)
右键单击MVC3项目并选择Publish。将其发布到文件系统并选择硬盘驱动器上的文件夹。
导航到您发布的文件夹并复制其中的所有内容。
这是一个痛苦的长子,但你可以通过它。
将已发布的应用程序粘贴到wwwroot后,C:\inetpub\wwwroot
中的文件夹应如下所示:
你能确认你的文件夹是这样的吗?
答案 2 :(得分:0)
您也可以试用IIS Express代替IIS 7.5
IIS Express是为开发人员优化的轻量级自包含IIS版本。 IIS Express可以轻松使用最新版本的IIS来开发和测试网站。它具有IIS 7的所有核心功能以及旨在简化网站开发的其他功能