使用Visual Studio开发,一个.sln解决方案文件下可以有多个csproj或者vbproj工程文件,但是能不能支持不同.net framework版本的csproj或者vbproj工程文件共存呢?比如a.csproj文件是.net2.0, b.csproj是.net3.5一起放在一个sln文件下,能不能支持?

解决方案 »

  1.   

    此外
    csproj文件中
    SchemaVersion 和 TargetFrameworkVersion
    什么区别
      

  2.   

    惭愧,做了这么多年了,一直不求甚解,居然没有关注这个,不过好像也不影响我做开发:)
    难道你准备开发IDE吗?
      

  3.   


    类似吧,只是我需要去读取这个项目的.net framework 的版本.
    后者只在Visual Studio 2008中才有,前者在所有Visual Studio版本中都有,不知道具体是什么概念
      

  4.   

    最好别这么整,开发出来的产品稳定性不能保证吧。都是基于.netFramework,非要一个项目用多个版本的;项目中没遇到这样的解决方案,个人感觉也不切实际。
    以后微软要是再出新版本呢,你敢保证你的项目二期,三期维护的时候不会出现问题吗?放弃这种架构吧,从其它技术点着手。用一种.net framework版本。
      

  5.   

    别说仅仅是容许共存,实际上你的同一个产品假设有多个工程,那么每一个工程的.net framework也可以不同。例如“采购”软件,它的进货单BLL处理部分可能是使用.net frameowrk2.0的,财务凭证BLL处理部分可能是3.5的,而整个界面UI则是一个基于4.0的项目。如果不能兼容不同版本的类库,就不好玩了。java中通常较混乱,同一类库的不同版本往往不能兼容。而.net至少到现在还没有怎么出现乱象。
      

  6.   

    两种方案
    1、建议各个proj升级到高的版本,以便于在solution中统一版本。
    2、继续采用各个版本,但是编译时,要设置各个版本,比较麻烦。
      

  7.   

    具体的我说不上来,但是我想应该可以这样说吧,.NET frameowrk 之间是没有什么重大的区别的(不知道我这么说对不,仅仅是说说自己的看法),我上次在做个web的时候,由于没有搞清楚对方的空间不支持.NET 3.5 ,我用.NET 3.5做了个,但是后来上传上去之后就出问题了,后来我想是不是要重新做的,我一朋友告诉我在webconfig文件中改改就好了,我想LZ可以试试
      

  8.   

    对了如果系统里只有.net framework 3.5,不装老的framework是否向下兼容以前2.0的程序呢?
      

  9.   

    vs2008中解决方案下的多个项目允许其基于不同的.net framework,但也仅是2.0以上.