目前我正在使用一个使用Telerik Ajax Version 2015.2.623.45的ASP.NET Web表单项目,我已将Telerik.Web.UI.dll,Telerik.Web.Design.dll添加到我的项目参考中,但它一直在给我错误说
The type or namespace name 'Telerik' could not be found in the global namespace (are you missing an assembly reference?)
以下是我的项目的一些信息,如果这可能有帮助:
我正在使用.NET Framework 4,使用集成模式,
dll
的Aliases
属性是“全球”,Copy Local
属性为True
而我的web.config
包含以下部分:
<controls>
<add tagPrefix="telerik" namespace="Telerik.Web.UI" assembly="Telerik.Web.UI"/>
</controls>
...
...
<httpHandlers>
<add verb="*" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResourceSession, Telerik.Web.UI" validate="false"/>
<add verb="*" path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler, Telerik.Web.UI" validate="false"/>
<add verb="*" path="Telerik.Web.UI.DialogHandler.axd" type="Telerik.Web.UI.DialogHandler, Telerik.Web.UI" validate="false"/>
<add verb="*" path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.Upload.RadUploadProgressHandler, Telerik.Web.UI" validate="false"/>
</httpHandlers>
...
...
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="Telerik.Web.UI.RadTextBox, Telerik.Web.UI, Version=2015.2.623.45, Culture=neutral, PublicKeyToken=121fae78165ba3d4"/>
<add assembly="Telerik.Web.UI.RadAsyncUpload, Telerik.Web.UI, Version=2015.2.623.45, Culture=neutral, PublicKeyToken=121fae78165ba3d4"/>
<add assembly="Telerik.Web.UI.RadAjaxManagerProxy, Telerik.Web.UI, Version=2015.2.623.45, Culture=neutral, PublicKeyToken=121fae78165ba3d4"/>
<add assembly="Telerik.Web.UI.RadCodeBlock, Telerik.Web.UI, Version=2015.2.623.45, Culture=neutral, PublicKeyToken=121fae78165ba3d4"/>
...
...
</assemblies>
</compilation>
...
...
<handlers>
<remove name="Telerik_Web_UI_WebResource_axd"/>
<remove name="Telerik_Web_UI_SpellCheckHandler_axd"/>
<remove name="Telerik_Web_UI_DialogHandler_aspx"/>
<remove name="Telerik_RadUploadProgressHandler_ashx"/>
<add name="Telerik.Web.UI.WebResource.axd" path="Telerik.Web.UI.WebResource.axd" verb="*" type="Telerik.Web.UI.WebResourceSession, Telerik.Web.UI" preCondition="integratedMode"/>
<add name="Telerik.Web.UI.SpellCheckHandler.axd" path="Telerik.Web.UI.SpellCheckHandler.axd" verb="*" type="Telerik.Web.UI.SpellCheckHandler, Telerik.Web.UI" preCondition="integratedMode"/>
<add name="Telerik.Web.UI.DialogHandler.axd" path="Telerik.Web.UI.DialogHandler.axd" verb="*" type="Telerik.Web.UI.DialogHandler, Telerik.Web.UI" preCondition="integratedMode"/>
<add name="Telerik.RadUploadProgressHandler.ashx" path="Telerik.RadUploadProgressHandler.ashx" verb="*" type="Telerik.Web.UI.Upload.RadUploadProgressHandler, Telerik.Web.UI" preCondition="integratedMode"/>
</handlers>
我已经搜索了很多并在Telerik论坛上尝试了所有方法,但它没有帮助......有人能帮助我并告诉我我缺少什么,我怎样才能正确引用Telerik.*.dll
?
您可以尝试删除引用并再次添加它们。在引用的属性中,“Copy Local”应该设置为true(但我认为这是默认值)。此外,请确保将它们添加到解决方案中的正确项目中! (这让我绊倒了一次。)
最后,确保您引用的DLL是针对项目所针对的相同版本的.NET Framework构建的。如果它们不是,那么在构建时会出现以下警告:
Warning 1576 The primary reference "Telerik.Web.Design, Version=2014.2.724.45, Culture=neutral, PublicKeyToken=121fae78165ba3d4, processorArchitecture=MSIL" could not be resolved because it was built against the ".NETFramework,Version=v4.5" framework. This is a higher version than the currently targeted framework ".NETFramework,Version=v4.0".
另一种方法是简单地添加缺少引用,这可能会给你一个缺少dll文件missing dlls的指示。你的telerik dll应该在C:\ Programe Files(x86)\ Progress下
您是否尝试使用Telerik ASP.NET AJAX VS Extensions。要使用Telerik ASP.NET AJAX VS Extensions转换项目,请执行以下步骤:在Visual Studio Solution Explorer中选择您的网站项目。在Visual Studio菜单中选择Telerik - >用于ASP.NET AJAX的UI - >转换为Telerik网站使用配置向导转换您的网站。您可以在http://docs.telerik.com/devtools/aspnet-ajax/general-information/integration-with-visual-studio/visual-studio-extensions/creation-and-configuration-wizard的文档中找到有关配置向导选项的更多信息。如果您仍然希望手动管理项目中的Telerik资源,可以查看http://docs.telerik.com/devtools/aspnet-ajax/general-information/adding-the-telerik-controls-to-your-project。