我有一个程序集Foo,它引用了程序集栏(版本X.X.X.2000)。 在属性中,特定版本设置为False。 我的本地GAC中有Bar(x.x.x.2000)和Bar(x.x.x.1000)。 一切都很好。
在另一台机器上,GAC中没有Bar的版本,但Bar(xxx1000)与Foo位于同一目录中,运行Foo将失败,声称无法找到Barr(xxx2000)
无法加载文件或程序集'Bar,Version = x.x.x.2000, Culture = neutral,PublicKeyToken = YXYXYXYXXYX'或其中一个 依赖。定位程序集的清单定义与 装配参考。 (HRESULT异常:0x80131040)
不应该使用Bar(x.x.x.1000),因为特定版本设置为False或者我错过了什么?
也许我没有得到具体版本的真实效果。
关于Stack Overflow的特定版本引用还有一些其他问题,但没有一个对我有任何帮助。
编辑
进一步阅读:http://www.code-magazine.com/article.aspx?quickid=0507041&page=3
答案 0 :(得分:25)
“特定版本”是指导编译器使用可用版本的构建时属性。在运行时,框架仍然会查找在构建时使用的程序集的特定版本。
请参阅此论坛讨论:http://forums.asp.net/t/1251728.aspx