zoukankan      html  css  js  c++  java
  • 如何让基于.NET 2.0的应用在高版本的系统上运行?

        我们的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系统。

  • 相关阅读:
    jquery 实现可编辑div
    【ubuntu firefox】 Firefox is already running, but is not responding
    PO标准form的一点疑问
    hdu3488Tour KM算法
    经典算法学习——归并排序
    Linux 安装Redis全过程日志
    算法竞赛入门经典 习题 2-10 排列(permutation)
    每日一支TED——弗兰斯&#183;兰庭:为动物发声的摄影作品——2015年6月3日
    Linux用户密码策略
    chage命令
  • 原文地址:https://www.cnblogs.com/justnow/p/11540045.html
Copyright © 2011-2022 走看看