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系统。

  • 相关阅读:
    亲测——pycharm下运行第一个scrapy项目 ©seven_clear
    [转]pycharm的一些快捷键
    一个豆瓣API的使用——拒绝思维定式
    小试牛刀--利用豆瓣API爬取豆瓣电影top250
    Python GUI编程--Tkinter
    多线程详解
    K8S+GitLab-自动化分布式部署ASP.NET Core(一) 部署环境
    初学者浅度剖析eShopOnContainers 里面用到的MediatR .
    通过Task异步加快对数组的运算
    为什么是容器?
  • 原文地址:https://www.cnblogs.com/justnow/p/11540045.html
Copyright © 2011-2022 走看看