3

我下载了一个新版本的第三方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。

4

2 回答 2

4

您正在查看的 (5.0.6.16206) 是File Version,而不是Assembly Version. 文件版本由文件系统使用,而不是由 .NET 运行时使用。程序集版本是 4.5.0.0,因此您看到的是正确且预期的信息。

正如 Phillip 在评论中提到的,您应该考虑使用 NuGet,因为它使事情变得更容易。

于 2013-08-01T15:30:02.897 回答
0

而不是使用Assembly.Load你应该尝试使用LoadFrom。然后,您将不会依赖它从它的搜索路径中为您定位程序集。

于 2013-08-01T15:28:17.000 回答