2013-12-18 30 views
-1

我從加入的NuGet版本AjaxControlToolkit 7.1213,和我有VS 2012和.NET 4.5 我嘗試使用calenderextender在我的網站上這樣Ajax控件工具包編譯錯誤ASP.NET

<ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"> 
</ajaxToolkit:ToolkitScriptManager> 
<asp:TextBox ID="birthtxt" runat="server" Style="width: 95%;" /> 
<ajaxToolkit:CalendarExtender ID="CalendarExtender1" runat="server"></ajaxToolkit:CalendarExtender> 

嘗試調試時這個項目我得到了以下錯誤:

Error 1 The type 'System.Web.UI.ScriptManager' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. 


Error 2 The type 'System.Web.UI.ExtenderControl' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. 

,這是我的組件Web.config

<assemblies> 
     <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> 
     <add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     <add assembly="System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     <add assembly="System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
     <add assembly="System.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     <add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
     <add assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> 
     <add assembly="System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> 
     <add assembly="System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
     <add assembly="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
     <add assembly="System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> 
     <add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
     <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
     <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
     <add assembly="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> 
     <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
     <add assembly="System.Data.Services.Client, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
     <add assembly="System.Data.Services.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
     <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
     <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> 
     <add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
     <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     </assemblies> 
    </compilation> 

,這是在web.config

<pages> 
     <controls> 
     <add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" /> 
     </controls> 
    </pages> 

和目標幀的工作controls是3.5 任何想法???

+0

你有沒有加入AJAX控件DLL來你的bin文件夾? – coder

回答

2

T一切都爲你提供幫助。該問題是由web.config增加compliation標籤解決的屬性targetframework這樣

<compilation debug="true" targetFramework="4.5"> 
1

看起來您沒有將AjaxControlToolkit程序集添加到「程序集」部分。你可以嘗試添加它,然後重新測試?

編輯:爲了得到公鑰,打開Visual Studio命令提示符,cd到您的DLL所在,然後在下面的命令發出的目錄:

sn -Tp AjaxControlToolkit.dll 
+0

如何獲取公鑰標記? –

+0

我試過並得到這個 Microsoft(R).NET Framework強名實用程序版本4.0.30319.17929 版權所有(c)Microsoft Corporation。版權所有。 無法將密鑰轉換爲令牌 - 無效的程序集公鑰。 –

+0

你是否用T大寫T?該標誌區分大小寫,所以如果你使用小寫字母t,你會得到這個問題。 –

1

如果我沒看錯,這可能是你的問題採取下面走線從你的web.config文件

<add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" /> 

也放到了你的源頁面頂部,不要忘記把你的TagPrefix去年空間聲明之後的意思。

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %> 

,並在源頁面更改這個樣子,因爲ajaxtoolkit和textbox.For之間沒有連接,你必須使用 '的TargetControlID'

<ajaxToolkit:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="birthtxt"> 
    </ajaxToolkit:CalendarExtender> 

UPDATE

改變你的webconfig文件as,

<pages> 
<controls> 

<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions,Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
<add namespace="AjaxControlToolkit" assembly="AjaxControlToolkit" 
     tagPrefix="ajaxToolkit"/> 
</controls> 
</pages> 
+0

我試過你的想法,並得到了相同的錯誤 –

+0

我做到了,並再次發生同樣的錯誤 –

+0

@FerasSalim看到我更新的答案。 – gkrishy