zoukankan      html  css  js  c++  java
  • winform .net2.0的程序如何运行于.net 4.x

    约束

    最近有一个winform项目,要求:

    (1)程序能够运行在winxp, win7, win8, win10中

    (2)安装尽可能简单,尽量不要安装.net framework。即使要安装也要尽可以地小。

    为了达成这些要求的,考虑以下因素:

    (1)操作系统自带的.net framework版本

    以下是各个windows版本自带的.net framework:

    windows版本

    .net framework版本

    winxp

    win7

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

    win8

    .net 4.5

    win10

    .net 4.5

    (2)各种操作系统的使用率

    以下是2016-2017年百度统计中的操作系统占比

    clip_image002

    可以看到win7占有率最高,其次是winxp。

    综合以上两上因素,决定程序的目标框架选择.net 2.0。这样一来,只有winxp需要安装.net framework 2.0,且.net framework 2.0仅20M。

    问题

    本来以为程序应当可以在各个操作系统上正常运行的。

    但是在测试的时候,发现在win8和win10下会出现以下错误:

    clip_image004

    选择在线安装的话,速度慢得无法接受;

    离线采用添加应用程序组件安装的话,需要系统光盘,很麻烦,用户无法接受;

    离线安装dotnetfx2.0.exe或者dotnetfx35.exe也会出现上图的提示。

    解决方法

    在查看了msdn上的文档之后,找到了解决方法。添加一个app.config文件,加入以下配置:

    复制代码
     1 <?xml version="1.0" encoding="utf-8"?>
     2 
     3 <configuration>
     4 
     5     <startup>
     6 
     7         <supportedRuntime version="v4.0"/>
     8 
     9        <supportedRuntime version="v2.0.50727"/>
    10 
    11     </startup>
    12 
    13 </configuration>
    复制代码

    配置的意思是:当发现.net4.x时,使用.net4.x,当没有.net4.x的时候,使用.net2.0

    参考资料

    How to: Configure an App to Support .NET Framework 4 or 4.5

    https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-configure-an-app-to-support-net-framework-4-or-4-5

  • 相关阅读:
    工作态度
    SQL7.0有如下问题:视图字段未及时刷新
    遇到不讲交期的客户
    关于CashFiesta.com
    设置主机多IP技术失败
    已好的客户要建立VSS了
    MSSQL说日志已满
    特殊的四舍五入
    如何保证对帐不遗漏?
    Linux常用命令之其它类型命令汇总
  • 原文地址:https://www.cnblogs.com/Alex80/p/7600493.html
Copyright © 2011-2022 走看看