NET中程序集版本冲突问题,如何解决
发布网友
发布时间:2022-05-14 20:54
我来回答
共1个回答
热心网友
时间:2023-10-29 21:15
.NET程序集版本冲突?这问题怎么描述的?
.net不会出现版本冲突问题的,往往版本冲突指的是你开发软件时引用与使用不同的版本所导致的。.net版本的引用依赖的并不是版本号,而是publicToken做为依据的。所以多数时间会出现版本找不到的现象。或者引用了两个不同版本的.net程序集(两个publictoken),即使是这样,那么你开发时编译器是无法通过的,因为编译时根本不知道某个方法到底来源于哪个程序集。出现编译问题时,往往是因为使用了Fake引用,然后,由于更新问题(发布时为使用的版本与开发时使用的版本不同),这时可能会现一些错误的问题。并不会出现版本冲突问题。
所以我无法确定你所谓的版本冲突到底是什么现象,一般在开发活动与部署活动中都不会出现直接的版本冲突提示的。所谓的版本冲突,应该不是程序报错而你自己的理解吧?否则直接把问描述的更清晰些,不要自己给问题定义一些不规则的描述——至少我不觉得你真的遇到了版本冲突的问题。
大前提——.net各版本是可以共存的!MS对其版本控制的机制还是非常信任的。.net开发版本完全共存,而运行版本基本上更不会出现这种情况,本身各运行版本可以共存,而且开发版本与运行版本是不一致的。
比如,.net 3.5是开发版本,但不管你是用.net 2.0还是3.5,其运行版本都是.net 2.0.49XX版本,当然了,.net 4.0/4.5.X/4.6.X/4.7.X生成的程序,其运行版本都是4.0。所以基本上不会遇到版本冲突。