Пространство имен Telerik не найдено в развернутом приложении MVC3 - PullRequest
0 голосов
/ 13 июля 2011

Я только что развернул новое приложение MVC3, и после некоторых усилий на стороне моего хостинг-провайдера MVC3, кажется, работает нормально, но теперь я получаю следующую ошибку компиляции, прежде чем что-либо на сайте загружается:

CS0246: Не удалось найти тип или имя пространства имен «Telerik» (отсутствует директива using или ссылка на сборку?)

Это происходит в файле web.config в следующей строке:

<add namespace="Telerik.Web.Mvc.UI" />

Я знаю, что DLL находится в папке bin на хосте, поэтому я немного растерялся относительно того, что еще может быть не так.

Ответы [ 4 ]

5 голосов
/ 13 июля 2011

Если вы используете Razor, эта строка:

<add namespace="Telerik.Web.Mvc.UI" />

должна встречаться в ~/Views/web.config, а не в ~/web.config.Это может быть ваш случай?

Как это:

<system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
        <add namespace="Telerik.Web.Mvc.UI" />
      </namespaces>
    </pages>
</system.web.webPages.razor>
1 голос
/ 18 марта 2014

Для сборок, на которые вы ссылаетесь, необходимо установить для параметра «Локальное копирование» значение true. В вашем случае разверните «Ссылки», выберите сборку, нажмите F4, чтобы открыть свойства, и задайте для параметра «Копировать локально» значение true. Скорее всего, сборка установлена ​​в GAC, поэтому при добавлении ссылки на нее по умолчанию значение «Копировать локально» равно false.

1 голос
/ 13 июля 2011

http://www.telerik.com/community/forums/aspnet-mvc/general/issue-with-telerik-mvc3-razor-content-appearing-at-the-top.aspx

Прочитайте ответ Майка Киддера. Извините за ссылку на другой форум, я знаю, что это раздражает, но я предпочел бы отдать должное.

Два больших преимущества при преобразовании в синтаксис Razor:

1) Используйте @ (....) при выводе html, а не @ {....;} - заключите код для элементов управления Telerik в скобки, а не в скобки - используя скобки, вы по сути говорите Razor выполнить метод. Вы не получите никакого вывода

2) Удалите метод .Render () для любых элементов управления Telerik. Не используется в Razor.

0 голосов
/ 13 июля 2011

это может быть в папке bin, но, так как вы не упомянули об этом, вы фактически добавили ссылку на файл в проекте?после добавления ссылки на dll она должна правильно скомпилироваться

...