Область asp.net mvc не работает на iis

Я создал приложение area / модульное MVC5 в соответствии с этим руководством: Это

он отлично работал на локальном. но у меня возникла ошибка 404, когда я развернул проект на iis и щелкнул ссылку в указанной области.

и я не нашел для этого никакого решения.

Ресурс не может быть найден. Описание: HTTP 404. Ресурс, который вы ищете (или одна из его зависимостей), мог быть удален, изменилось его имя или временно недоступен. Просмотрите следующий URL-адрес и убедитесь, что он написан правильно. Запрошенный URL: / Продажа

и это мои ссылки действий, которые отлично работают при локальном запуске:

     @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, включающий области и модули, которые находятся в папке областей?


person Iman Salehi    schedule 18.01.2017    source источник
comment
показать routeconfig.cs и соответствующий arearegistration.cs файл   -  person James Sampica    schedule 18.01.2017
comment
@ Обувь, я сделал это в редактировании ...   -  person Iman Salehi    schedule 21.01.2017


Ответы (2)


Это просто очевидно:

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

Также попробуйте Проверить это.

person Vijunav Vastivch    schedule 19.01.2017
comment
вы правы ... каталог не существует в развернутом пути, но теперь я не понимаю, почему издатель не понял его .... потому что он работает при локальном запуске. :( - person Iman Salehi; 21.01.2017
comment
Убедитесь, что все файлы включены в вашу развернутую папку. - person Vijunav Vastivch; 24.01.2017

Основная причина моей проблемы заключалась в следующем:

VisualStudio не включает мою папку Area в путь публикации .. почему? я не знаю

Решение: решения пока нет! .. но я добавил свой модуль dll в папку bin вручную. и создал мою папку областей и его решение проектов модулей (библиотеки DLL не нужны) в основном опубликованном решении, вручную, чтобы ..

наконец, это сработало, но я не думаю, что это стандартное решение

person Iman Salehi    schedule 21.01.2017
comment
StackOverflow - это вопросы, на которые нужно ответить. Вы должны стремиться отмечать ЛЮБОЙ вопрос, который вы задали, как ответ, даже если ответ ваш собственный. - person Shimmy Weitzhandler; 03.05.2017