如果要开发一款通用软件。
那么,面对从xp到WIN8的机器,面对从.net 2.0-.net 4.0的架构。
请问,怎么样设置才能最快的让用户部署自己的架构。我的现在想法很简单。.NET3.5开发,可是对于WIN8,XP没安装.net3.5的客户,又的让别人去部署这个东东。这个问题就是很头痛。。必须的这样吗?
可以让软件自动使用各种不同的.net版本吗?

解决方案 »

  1.   

    我现在想到的办法是,给所有版本的WINDOWS系统开发!
    WIN7用3.5开发一个版本,WIN8用4.5开发一个版本,XP那么2者都可以。
    这么一来,WIN7,WIN8用户不用自己部署.NET了,只有XP用户需要麻烦一下装3.5.
    不知道各位大侠我的思路正确与否。
      

  2.   

    没有.net Framework 就安装吧
      

  3.   

    我没有试过,按说安装了4.0版本Framework的机器就不用安装2.0了吧,向下兼容的。。
      

  4.   


    可以根据客户机器上的.NET版本,让程序自己判断使用那段代码可以吗?
      

  5.   

    判断的前提是 你的程序要运行起来 运行起来的前提是 对方机器要有你程序正确的.net版本。//
    好晕啊 我自己都乱了。,。。
      

  6.   

    天啊,那我预装一个C++做的,跑起来在判断。我晕晕,MS搞死人。我用DELHPI总不会这样了吧。
      

  7.   

    首先,大体上来说,高版本.NET框架可以运行针对低版本框架的程序。
    然后,如果客户端存在多个版本的.NET框架,程序会首选生成自己的那个版本;如果没有,则使用兼容版本(即比生成时版本高的.NET)这里有一点比较特别,就是.NET4.0不“自动”运行针对低版本.NET框架的程序。
    最后,可以通过应用程序配置文件来配置程序在哪些CLR上运行。比如有一个.NET1.1的程序,客户端装了.NET1.0-.NET4.5所有.NET版本。这个程序默认会使用CLR1.1运行,但是通过应用程序配置文件可以指定它在CLR4.0上运行。
    应用程序配置文件中可以指定多个CLR版本,写在上面的优先级高,如果客户端存在会优先使用。如果配置文件中指定的所有CLR都不存在,则不能运行,即使存在编译应用程序时使用的.NET版本。(比如上面那个针对.NET1.1,但是配置文件指定CLR4.0的程序。如果客户端没装.NET4.0或4.5,即使装了.NET1.1,程序也不能运行。)
    http://msdn.microsoft.com/zh-cn/library/w4atty68.aspx具体到你的情况
    你可以用.NET3.5开发程序,然后在应用程序配置文件里指定CLR2.0和CLR4.0。这样你的程序就可以在.NET3.5和.NET4.0、4.5上面运行了。配置方法见上面的连接。
      

  8.   

    在安装程序的时候,先检查.net,没有先自动下载安装,然后再安装你的程序