Расширения Razor HtmlHelper (или другие пространства имен для представлений) не найдены

Не знаю, происходило ли это в PR или бета-версии, но если я создам метод расширения на HtmlHelper , он не распознается на странице, поддерживаемой Razor:

namespace SomeNamespace.Extensions {
    public static class HtmlExtensions {
        public static string Foo(this HtmlHelper html) {
            return "Foo";
        }
    }
}

Я добавил его в раздел в Web.config :

<pages>
  <namespaces>
    <add namespace="System.Web.Mvc" />
    <!-- snip -->
    <add namespace="SomeNamespace.Extensions"/>
  </namespaces>
</pages>

Но при попытке компиляции возникает ошибка для просмотра страницы:

@Html.Foo()

Если я воссоздаю страницу с помощью WebForms , она будет работать нормально. В чем дело?

Обходной путь

Если я включу @using SomeNamespace.Extensions в свое представление Razor, то оно сработает, но я бы предпочел просто иметь его в Web.config

166
задан swilliams 15 February 2014 в 22:08
поделиться