不同计算机上的dll-version相同吗?

时间:2010-06-14 11:43:27

标签: vb.net dll

我对VB.Net Windows应用程序有一个奇怪的问题。 在我的计算机(开发PC)上,它执行最新版本的exe和dll,但在我的同事的计算机上(他不是开发人员,不能调试它)执行旧版本。他用新版本覆盖了所有文件:

alt text http://www.bilder-hochladen.net/files/4709-kn.jpg

我不知道从哪里开始寻找原因。

编辑:我做的第一件事就是重新启动我的同伴的电脑,但那是没用的。

什么时候在全局程序集缓存中安装了一个dll?因为我用gacutil.exe在gac中搜索了它但未找到:

C:> C:\ WINDOWS \ Microsoft.NET \ Framework \ v1.1.4322 \ gacutil.exe / l Rule.dll Microsoft(R).NET全局程序集缓存实用程序。版本1.1.4318.0 版权所有(C)Microsoft Corporation 1998-2002。版权所有。 全局程序集缓存包含以下程序集: ngen文件的缓存包含以下条目: 商品数量= 0

我也查看了汇编文件夹,但没有找到任何这些dll。

其他信息:其中一个dll是在代码隐藏中动态加载的: System.Reflection.Assembly.LoadFrom( “Rule.dll”) 其他在特定项目中被引用。

2 个答案:

答案 0 :(得分:1)

当你说他覆盖了所有版本时,你真的对此确定吗?例如,如果他只是在文件系统上进行搜索,那么GAC中是否有可能找不到的版本?

答案 1 :(得分:1)

ho1's answer可能就是你所需要的,但为了找到所有可能的原因,你需要研究在.NET中组装绑定的整个主题。有多种因素可以影响.NET在查找特定程序集时的位置和内容,包括程序集绑定重定向和发布者策略。这是一篇解释本主题的文章:

http://www.techbubbles.com/net-framework/assembly-binding-in-net-framework/

如果你是谷歌,你会发现更多。