Visual Studio:引用版本错误

3
我下载了一个新版本的第三方dll文件,将它复制到一个新项目的“Library”文件夹中,并添加了一个引用。我期望在“引用管理器”中显示版本5.0.6,但它显示的是4.5.0。
我的系统上有4.5.0版本,但解决方案或GAC中没有任何其他版本。它似乎在运行时使用4.5.0版本,但将5.0.6版本复制到/bin目录下。
请帮助我理解发生了什么。以下提供了一些支持细节。
更新:根据要求,我提供了引用属性的屏幕截图。
dll文件属性:
[图片]
通过浏览文件位置添加引用:
[图片]
这是结果引用:
[图片]
属性:
[图片]
如果我在运行时显示程序集版本,它会显示为4.5:
[图片]
但当我查看/bin目录时,它的版本是5.0.6。

2
为什么不使用NuGet来管理你的引用呢?这肯定会有所帮助! - phillip
1
你没有在项目中包含对应引用的属性截图。这个截图包含了你所引用的实际文件的路径。 - phillip
谢谢Phillip。我会研究一下NuGet。 - mr_plum
2个回答

4
你看到的是文件版本(5.0.6.16206),而不是程序集版本。文件版本由文件系统使用,而不是.NET运行时使用。程序集版本为4.5.0.0,所以你看到的信息是正确且符合预期的。
正如Phillip在评论中提到的,你应该考虑使用NuGet,因为它可以使事情变得更加容易。

我的错误在于假设产品版本=程序集版本。我进行了一些测试,现在看到它们不是同一个实体。谢谢! - mr_plum

0

不要使用 Assembly.Load,而应该尝试使用 LoadFrom。这样,您就不必依赖于它从搜索路径中定位程序集。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接