在部署的MVC3应用程序中找不到Telerik命名空间

时间:2011-07-13 16:51:39

标签: asp.net asp.net-mvc asp.net-mvc-3 telerik telerik-mvc

我刚刚部署了一个新的MVC3应用程序,经过我的托管服务提供商的一些努力,MVC3似乎运行正常,但现在我在网站上的任何内容加载之前得到以下编译错误:

CS0246:类型或命名空间名称' Telerik'找不到(你错过了使用指令或汇编引用吗?)

这发生在以下行的web.config中:

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

我知道DLL存在于主机上的bin文件夹中,所以我对其他可能出错的东西感到有点迷失。

4 个答案:

答案 0 :(得分:5)

如果您使用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 :(得分:1)

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

阅读Mike Kidder的回复。很抱歉链接另一个论坛,我知道这很烦人,但我宁愿给予应有的信用。

  

转换为Razor语法时的两大要点:

     

1)输出html时使用@(....),而不是@ {....;}        - 在括号中包含Telerik控件的代码,而不是括号        - 使用括号,你基本上告诉Razor执行一个方法。你不会得到任何输出

     

2)删除任何Telerik控件的“.Render()”方法。不在Razor中使用。

答案 2 :(得分:1)

您必须为已引用的程序集将“Copy Local”设置为true。在您的情况下,展开“参考”,选择装配,按F4打开属性并将“复制本地”设置为true。程序集很可能安装在GAC中,因此当您默认添加对它的引用时,Copy Local为false。

答案 3 :(得分:0)

它可能在bin文件夹中,但是,既然你没有提到这个,你真的在​​项目中添加了对该文件的引用吗?在添加对dll的引用之后,它应该正确构建