zoukankan      html  css  js  c++  java
  • .NET 4.0 兼容 .NET 2.0 的方法

          使用.net开发桌面应用,广大亲门最头疼的莫过于客户端部署的问题。基于.net 2.0 的winfrom程序因为 Framework 的分发包大小为20M左右还好解决,不幸的是如果项目中使用了Wcf,wpf 等技术,那个350多M的 .net 3.5 sp1 可以让亲欲哭无泪了。虽然民间流传着很多.net 3.5的精简包,但必竟不是官方的解决方案。

    win7自带了.net 3.5 sp1,而且win7的装机量已经很高,所以我们大可以将项目升级到 .net 3.5。

    目标:

    基于.net 3.5开发的应用程序, 在win7 或安装有.net 3.5 sp1 的机器上可以直接安装运行,而在其它机器上则需要安装.net 4.0框架,使.net 3.5应用程序运行在.net 4.0框架上。

    本文的解决方案如下:

    1、项目目标框架为 .net 3.5。

    2、客户端部署使用.net 4.0 Framework 代替 3.5 sp1;4.0的分发包为48M。

    3、软件安装时检测到系统安装有.net 3.5 sp1 则不安装 4.0框架。

    要解决的问题:

    1、首先需要使 .net 3.5编写的应用程序可以在.net 4.0 环境中运行。

    我们可以在app.config中添加如下配置节:

    <startup useLegacyV2RuntimeActivationPolicy="true">

    <supportedRuntime version="v4.0"/>

    </startup>

    该节点表示

    表示使用.NET4.0运行时来运行程序。有关 startup 的详细信息请移步Msdn 。

    这样我们新可以在只安装有.net 4.0的机器上运行 .net 3.5编写的应用程序了。

    等等,还没有万事大吉,上面的设置如果在只装有 .net3.5框架 而没有安装 .net 4.0框架的机器上运行会报如下错误:

    "好难过,这不是我要的那种结果,结果!" ,解决办法如下:

    <startup useLegacyV2RuntimeActivationPolicy="true">

    <supportedRuntime version="v4.0"/>

    <supportedRuntime version="v2.0.50727"/>

    </startup>

    红色部分是我们新添加的,目的是指定软件支持在v2.0.50727环境中运行。(ps: .net 3.5 的clr运时环境为 2.0)

    Oh oh 目标达到,现在软件已经可以在只安装.net 4.0 或 只安装有 .net 3.5的机器上运行了。

    以上内容非本人原创,供参考!

  • 相关阅读:
    Displaying XML in a Swing JTree
    jdom解析xml
    How to display XML in a JTree using JDOM
    关于XML文档和JAVA中的JTree之间如何转换的问题
    java swing 学习
    硅谷创业教父Paul Graham:如何获得创业idea
    如何成为一位优秀的创业CEO
    硅谷归来7点分享:创业者,做你自己
    The Preliminary Contest for ICPC Asia Xuzhou 2019 徐州网络赛 C Buy Watermelon
    The Preliminary Contest for ICPC Asia Xuzhou 2019 徐州网络赛 B so easy
  • 原文地址:https://www.cnblogs.com/Ares-blog/p/3264759.html
Copyright © 2011-2022 走看看