我下载了新版本的第三方dll,将其复制到新项目的“Library”文件夹中,并添加了引用。我希望它在Reference Manager中显示版本5.0.6,但它显示为4.5.0。
我的系统上有4.5.0版,但在解决方案或GAC中没有其他任何地方。它似乎在运行时使用4.5.0,但将5.0.6复制到/bin
。
请帮助我了解正在发生的事情。我在下面提供了一些支持细节。
更新:我为每个请求添加了参考属性的屏幕截图。
dll属性:
通过浏览到文件位置添加引用:
以下是结果参考:
属性:
如果我在运行时显示Assembly版本,则显示4.5:
但是当我查看/bin
时,它的版本为5.0.6。
答案 0 :(得分:4)
您正在查看的内容(5.0.6.16206)是File Version
,而不是Assembly Version
。文件版本由文件系统使用,而不是由.NET运行时使用。程序集版本是4.5.0.0,因此您所看到的是正确的,预期的信息。
正如Phillip在评论中提到的那样,你应该考虑使用NuGet,因为它会让事情变得更容易。
答案 1 :(得分:0)
您应该尝试使用Assembly.Load
而不是LoadFrom
。那么你将不会依赖它从它的搜索路径中为你找到大会。