首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >错误CS1705:“其版本高于引用的程序集”

错误CS1705:“其版本高于引用的程序集”
EN

Stack Overflow用户
提问于 2012-02-10 06:28:15
回答 15查看 161.4K关注 0票数 128

我已经调查了一段时间了,还没有解决这个问题。我得到以下错误消息:

代码语言:javascript
运行
复制
Compiler Error Message: CS1705: Assembly 'My.Model, Version=1.1.4422.23773, Culture=neutral, 
PublicKeyToken=bfde95ba233094b2' uses 
'Common, Version=3.3.4273.24368, Culture=neutral, PublicKeyToken=bfde95ba233094b2' 
which has a higher version than referenced assembly
'Common, Version=3.3.4269.17112, Culture=neutral, PublicKeyToken=bfde95ba233094b2'

c:\WINDOWS\assembly\GAC_MSIL\Common\3.3.4269.17112__bfde95ba233094b2\Common.dll: 
(Location of symbol related to previous error)

web服务器正在运行server 2003。我转到c:\windows\assembly,实际上确实注意到列出了3个版本的Common.dll。列出的最高版本为3.3.4269.17112

我将版本为3.3.4273.24368的dll复制到程序集目录中。然后,我重新编译并重新部署了我的代码(可能有些过分了,但是很好)。当我在新的会话中打开浏览器并再次访问站点URL时,我仍然收到相同的消息。

我可以使用windows资源管理器,并验证现在是否也列出了更高版本的Common.dll。

我还能做些什么来解决这个问题呢?我不想将程序集中的引用更改为指向旧版本。

EN

回答 15

Stack Overflow用户

发布于 2013-02-12 14:35:03

我出现这个错误是因为"Rebuild“并不是真正的Rebuild。

解决方案:关闭Visual Studio,真的去删除bin文件夹,然后重新构建,它可能会工作得更好。

此外,有时Visual Studio会在引用方面撒谎,因此请检查.csproj文件中的HintPath

票数 79
EN

Stack Overflow用户

发布于 2013-05-22 12:31:37

我的问题是,我有两个项目引用了同一个dll的两个不同的副本,这些dll有不同的版本。我通过删除它们并确保它们引用相同的dll文件来修复它。

票数 34
EN

Stack Overflow用户

发布于 2013-10-10 02:10:00

一个可能的原因是,第二个程序集安装在GAC中,而第一个版本号更高的程序集被添加到项目的引用中。若要验证这一点,请双击项目引用中的程序集,并检查对象浏览器中是否有另一个同名的程序集。

如果是这种情况,请使用gacutil.exe实用程序从GAC卸载第二个程序集。例如,如果这些是64位程序集:

代码语言:javascript
运行
复制
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\x64\gacutil.exe -u <assembly_name>
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9219832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档