我有一个ASP.NET MVC 4应用程序,我想在IIS 8上部署它。我在互联网上读到,通过创建一个包并发布它可以直接通过VS 2010/2013这样做但我想用IIS管理器部署它。我尝试通过以下步骤手动完成:
当我通过Chrome启动我的网站时,浏览器会说他无法访问http://www.abc.net:3500
我在这里做错了什么?如何部署我的MVC网站不使用Visual Studio ?
编辑:通过跟随Imran的第一个链接,似乎我向前迈进了一步。但是,不是访问我的应用程序的索引页面,而是浏览器显示的内容:
我应该在RouteConfig中配置一些东西吗?这是:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
namespace AstellasSchedulerV2 {
public class RouteConfig {
public static void RegisterRoutes(RouteCollection routes) {
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("{resource}.ashx/{*pathInfo}");
routes.MapRoute(
name: "Default", // Route name
url: "{controller}/{action}/{id}", // URL with parameters
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
}
}
答案 0 :(得分:1)
您可以使用Visual Studio
创建部署包,方法是转到构建>发布{project name} 并按照向导进行操作。
在IIS
点击某个网站,部署菜单下应该有导入应用的选项。如果您没有看到这一点,则需要将WebDeploy模块安装到IIS
。
或者,如果您仍在开发解决方案,则可以通过转到项目的属性>来配置Visual Studio
以使用IIS
安装。网络并选择使用本地IIS Web服务器。当您运行应用程序时,它会自动将构建版本复制到您的默认网站并从那里运行它。
希望这有帮助。
答案 1 :(得分:0)
不知道你做错了什么。检查日志。设置web.config,在本地和/或远程访问站点以进行调试时显示错误。你的问题就像"我有车。这是行不通的。有什么问题?"。
在web.config中启用远程调试后,您应该会看到正确的错误消息。
http://technet.microsoft.com/en-us/library/bb684665.aspx
表示设置为:
从" RemoteOnly"更改customErrors模式属性到"关",然后保存文件。
然后你应该看到的不仅仅是"错误500"。理解那就是你的工作;)
答案 2 :(得分:0)
请逐步参考以下文章
IIS 8.0 Using ASP.NET 3.5 and ASP.NET 4.5
和
ASP.NET Web Deployment using Visual Studio: Deploying to Test
修改强>
正确发布您的网站代码,然后尝试以下
1)请在global.asax中查看下面的配置。
RouteConfig.RegisterRoutes(RouteTable.Routes);
2)您的路线配置应为
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "your default controller", action = "index", id = UrlParameter.Optional }
);
3)在IIS 8.0中禁用目录浏览