我的开发箱上有VS 2005,2008。
其他只安装了2005的开发人员的新项目。当我构建它时,我得到错误。
错误1正在对汇编进行间接引用 System.Web.Extensions版本3.5.0.0,其中包含 'AjaxControlToolkit.CalendarExtender'。该项目引用了先前的 System.Web.Extensions版本1.0.61025.0的版本。使用 'AjaxControlToolkit.CalendarExtender',您必须替换引用 到版本为3.5.0.0或更高版本的System.Web.Extensions。
当我将Web.Extentions的版本更改为3.5时,我得到另一个失败
无法加载文件或程序集'AjaxControlToolkit, 版本= 1.0.20229.23876,文化=中立, PublicKeyToken = 28f01b0e84b6d53e'或其依赖项之一。该 找到程序集的清单定义与程序集不匹配 参考。 (HRESULT异常:0x80131040)
我应该更改公钥:
add assembly =“System.Web.Extensions,Version = 1.0.61025.0, Culture = neutral,PublicKeyToken = 31bf3856ad364e35“
到新的,或者这是错误的做法。服务器没有3.5运行时。
TIA
答案 0 :(得分:0)
如果您的服务器没有3.5运行时并且您无法安装它,我想您必须坚持使用1.0.61025.0版本的System.Web.Extensions。
我猜你遇到的问题是因为你使用的AjaxControlToolkit dll是用3.5运行时构建的。因此,您的项目直接引用1.0.6 ...版本,并通过AjaxControlToolkit引用引用3.5版本,并且变得困惑。您可以尝试下载工具包源并从头开始构建它,引用1.0.61025.0版本的System.Web.Extensions。然后确保引用此工具包而不是默认工具包。
http://ajaxcontroltoolkit.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=11121
此外,您可以尝试确保在项目的引用和web.config文件中对System.Web.Extensions DLL版本号的所有引用都是一致的。请注意,如果选择了引用,则可以在“属性”面板中将“SpecificVersion”属性切换为True;据推测,这使得.NET对它选择的DLL版本更加挑剔。