Метод 'RouteCollection.get_AppendTrailingSlash' не найден при использовании помощников URL-адреса Razor в ASP.NET MVC 5 Mono

Я создаю приложение ASP.NET MVC 5 в Mono (Ubuntu 14.4, Monodevelop 5.9, Mono JIT-компилятор версии 4.0.1).

Я вижу, что некоторые компоненты бритвы не распознаются, например:

@Url.Action

Когда я добавляю этот

<a title="Notifications" href="@Url.Action("_Listing","Home")"> Home </a>

Ответ 1

Последние новости afaik - это то, что Мигель отклонил мой минимальный запрос на тягу в прошлом году, но вы можете увидеть в нижней части этого запроса Pull, что пара других были построены на github, которые включают это и многое другое.

Я не вижу, чтобы кто-то получил заявку на получение тяги, принятую для mono mainline. Путь вперед я вижу, если вы знаете/можете убедить кого-то в команде Xamarin, чтобы нажать на это.

Или, помогая получить код с открытым исходным кодом .Net, работающий на моно.

Но https://github.com/gentoo/dotnet выглядит интересным: он потянул это и некоторые другие изменения MVC5.

Ответ 2

Как сейчас, единственный способ обойти это - создать и установить Mono из источника из GitHub.

Вы можете обратиться к проблеме Xamarin Bugzilla: https://bugzilla.xamarin.com/show_bug.cgi?id=16475#c13

Но тогда вы можете столкнуться с чем-то другим... Это не похоже на приоритет для ребята Mono; Скорее, интерес к Xamarin/мобильному сюжету, по-видимому, получает наибольшее внимание.

Ответ 3

Теперь проблема решена.

Между тем, я использовал этот простой хак: Вместо использования ASP.NET MVC-помощников мы можем использовать базовый синтаксис HTML следующим образом:

Для якорных компонентов:

<a href="~/ControllerName/ActionName"> Test </a>