码迷,mamicode.com
首页 > Web开发 > 详细

如何让基于.NET 2.0的应用在高版本的系统上运行?

时间:2019-09-18 10:50:23      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:电脑   run   完全   版本   应用程序   补丁   font   ros   开发   

    我们的WinForm项目是基于.NET 2.0开发的,在部署时,发现有些机器没有.NET 2.0,但是即使这些机器有装.NET 2.0 以上的版本,也无法运行我们的程序。这就比较蛋疼了。    

    我们查了一下,发现windows各个版本中自带的.NET Framework的版本是这样的:  

windows版本

.net framework版本

winxp

无  (注:xp sp1 则自带了 .net 2.0)

win7

.net 3.5(包含.net3.0 .net2.0)

win8

.net 4.5

win10

.net 4.5

 

 

 

 

 

 

 

 

 

    在winxp上安装.NET 2.0 是非常容易的,但是要在win8和win10上安装.NET 2.0,就不是那么顺利了,经常遇到无法降级的情况。

    我想,既然高版本的.NET Framework几乎是完全兼容.NET 2.0的, 那么,有没有办法让基于.NET 2.0的应用直接在高版本的.NET上运行了?

    经过一番摸索,终于找到了解决方案,那就是在配置文件中加上所支持的.NET的版本即可。    

解决方法

(1)在.NET 2.0程序项目下的应用程序配置文件 App.config 中,

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v2.0.50727"/>
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>

      这几行配置的意思是:如果系统中有.NET 4.0+时,就使用.NET 4.0+,否则,就使用.NET 2.0。

(2)重新编译生成程序。

      如此一来,几乎所有的电脑都可以直接跑我们的.NET 2.0的WinForm程序了,除了那些极少数连补丁都没打的WinXP系统。

 

如何让基于.NET 2.0的应用在高版本的系统上运行?

标签:电脑   run   完全   版本   应用程序   补丁   font   ros   开发   

原文地址:https://www.cnblogs.com/justnow/p/11540045.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!