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

发布于 2024-11-19 18:35:12 字数 312 浏览 5 评论 0原文

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

CS0246:类型或命名空间无法找到名称“Telerik”(您是否缺少 using 指令或程序集引用?)

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

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

我知道 DLL 存在于主机上的 bin 文件夹中,所以我是有点迷失,不知道还有什么可能是错的。

I have just deployed a new MVC3 application, and after some efforts on my hosting provider's side, MVC3 seems to be running OK, but now I get the following compilation error before anything on the site loads:

CS0246: The type or namespace name 'Telerik' could not be found (are you missing a using directive or an assembly reference?)

This occurs in web.config on the following line:

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

I know the DLL is present in the bin folder on the host, so I'm a bit lost as to what else could be wrong.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

无声静候 2024-11-26 18:35:13

它可能位于 bin 文件夹中,但是由于您没有提及这一点,您实际上是否在项目中添加了对该文件的引用?添加对 dll 的引用后,它应该正确构建

it might be in the bin folder but, since you didn't mention this, did you actually add reference to the file in the project? after adding the reference to the dll, it should build correctly

戴着白色围巾的女孩 2024-11-26 18:35:12

如果您使用 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>

If you are using Razor this line:

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

must occur in ~/Views/web.config and not in ~/web.config. Could this be your case?

Like this:

<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>
非要怀念 2024-11-26 18:35:12

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 中使用。

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

Read the reply by Mike Kidder. Sorry for linking another forum, I know that's annoying but I'd rather give credit where due.

Two big takeaways when converting to Razor syntax:

1) Use @( .... ) when outputting html, not @{ .... ;}
- wrap the code for Telerik controls in parentheses, not brackets
- using brackets, you're essentially telling Razor to execute a method. You won't get any output

2) Remove the ".Render()" method for any Telerik controls. Not used in Razor.

鹿港巷口少年归 2024-11-26 18:35:12

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

You have to set Copy Local to true for the assemblies you have referenced. In your case expand References, select the assembly, press F4 to open the properties and set Copy Local to true. The assembly most probably is installed in the GAC so when you add a reference to it by default Copy Local is false.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文