mvc-код asp.net не компилируется на сервере - PullRequest
0 голосов
/ 20 июля 2009

у меня есть этот код в одном из моих просмотров asp.net mvc:

   <%Html.RenderFile(@"C:\Members\newsletters\welcome.html");%>

Я создал расширение для класса Html для чтения в файле. код выглядит так:

public static class HtmlRenderer
{
    public static void RenderFile(this HtmlHelper helper_, string path_)
    {
        var reader = new StreamReader(path_);
        var contents = reader.ReadToEnd();
        helper_.ViewContext.HttpContext.Response.Write(contents);
    }
}

Это все прекрасно работает, когда я запускаю в visual studio на своем рабочем столе, но когда я передаю эти файлы на сервер, я получаю в браузере следующую ошибку:

Сообщение об ошибке компилятора: CS1061: «System.Web.Mvc.HtmlHelper» не содержит определения для «RenderFile» и не имеет метода расширения «RenderFile», принимающего первый аргумент типа «System.Web.Mvc. HtmlHelper 'может быть найден (вам не хватает директивы using или ссылки на сборку?)

Класс HtmlRenderer находится в пространстве имен с моими контроллерами, поэтому никакой другой ссылки на внешнюю сборку не требуется.

Кто-нибудь знает, как это может происходить или что я делаю неправильно?

Ответы [ 4 ]

0 голосов
/ 20 июля 2009

Я попытался выполнить полное обновление (удаление всего на сервере и повторная публикация, и теперь все работает нормально.

так что я счастлив, что все работает, но до сих пор не понимаю, почему этого не было раньше.

0 голосов
/ 20 июля 2009

Гуглил и нашел что-то . Имеет ли сервер .net 3.5?

0 голосов
/ 20 июля 2009

Попробуйте опубликовать Интернет на локальном IIS7 или IIS6 (щелкните правой кнопкой мыши проект «Опубликовать»). У вас есть хороший шанс, что вы уже получили более конкретную ошибку во время «публикации».

Если не запустить страницу на вашем локальном IIS6 или 7 и посмотреть, если вы получите ошибку.

0 голосов
/ 20 июля 2009

Вам необходимо скомпилировать проект и затем развернуть его (xcopy или publish from VS) на сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...