asp.net mvc区域无法在iis

时间:2017-01-18 15:08:41

标签: iis asp.net-mvc-5 asp.net-mvc-routing asp.net-mvc-areas

根据本教程,我创建了区域 / 模块化 MVC5 应用程序: This

它在当地完美运作。但是当我在iis上部署项目并点击指定区域链接时,我收到404错误。

我没有找到任何解决方案。

  

无法找到资源。   说明:HTTP 404.您要查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用。请查看以下网址,确保拼写正确。   请求的网址:/ Sale

这是我的行动链接,完全适用于本地运行:

     @Html.ActionLink("Sale","Index","Sale",new { Area="Sale"},null)

编辑

    public class SaleAreaRegistration:AreaRegistration
{
    public override string AreaName
    {
        get
        {
            return "Sale";
        }
    }

    public override void RegisterArea(AreaRegistrationContext context)
    {

        context.MapRoute(
            "Sale_default",
            "Sale/{controller}/{action}/{id}",
            new { controller = "Sale", action = "Index", id = UrlParameter.Optional },
            new string[] { "MVCPluggableDemo.Controllers" }
        );
    }
}

注意:根据我在第一行说的教程。我在解决方案中的另一个虚拟项目中创建了我的模块项目(真正的路径在主项目的区域文件夹中,如"〜/ ProjectName / Areas /")。但我认为发布商不了解它......因为我在部署的路径中看不到任何模块视图。

通过这个明显的问题完成我的帮助请求会更好: 如何部署 MVC 项目包括区域,以及区域文件夹中的模块

2 个答案:

答案 0 :(得分:0)

很明显:

Check your page directory. The server cannot locate your the file,
it maybe in different folder.

同时尝试Check this

答案 1 :(得分:0)

我问题的主要原因是:

  

VisualStudio在发布路径中没有包含我的区域文件夹。为什么?我不知道

解决方案:还没有解决方案!..但我手动在bin文件夹中添加了我的模块dll。并在主要发布的解决方案中手动创建了我的区域文件夹和他的模块项目解决方案(dlls'并非没有必要)..

最后它起作用了,但我不是标准解决方案