NET中程序集版本冲突问题,如何解决

NET中程序集版本冲突问题,如何解决,第1张

.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。所以基本上不会遇到版本冲突。

为了兼容性选择.net 2.0比较好,但最好同时生成.net 4.5版本

.net 3.0和3.5都是2.0的升级包,向下兼容,安装后可以运行.net 2.0的程序

.net 4.0和4.5分别是新的框架,不向下兼容,无法运行.net 2.0的程序

win7预装的是.net 3.5

win8预装的是.net 4.5

win xp不可安装.net 4.5及更高版本

网上找码源,参考着做一个。 16aspx有源码。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7884939.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存