C# 将相同的源代码编译成.NET2.0和.NET4.0C

C# 将相同的源代码编译成.NET2.0和.NET4.0C,c#,.net,C#,.net,我有一个在WindowsXP、7和8上运行的应用程序。如果.NET framework不可用,我不希望用户安装它,因此我将在Windows XP和7的2.0版本和Windows 8的4.0版本中编译它 目前,我正在维护两套相同的代码,一套是在2.0中开发的,另一套是在4.0中开发的 有没有办法让我只维护一组代码,并轻松地将其编译到两个框架中 还有一些依赖项,如agsxmpp.dll和SQLLite.dll如果确实要这样做,可以创建一个包含两个项目的解决方案文件。您的一个项目成为主项目,即您在该项

我有一个在WindowsXP、7和8上运行的应用程序。如果.NET framework不可用,我不希望用户安装它,因此我将在Windows XP和7的2.0版本和Windows 8的4.0版本中编译它

目前,我正在维护两套相同的代码,一套是在2.0中开发的,另一套是在4.0中开发的

有没有办法让我只维护一组代码,并轻松地将其编译到两个框架中


还有一些依赖项,如agsxmpp.dll和SQLLite.dll

如果确实要这样做,可以创建一个包含两个项目的解决方案文件。您的一个项目成为主项目,即您在该项目中进行所有编辑和调试。而另一个项目只是链接到相同的文件,但目标框架不同

在我的示例中,我将主项目的目标框架设置为2.0。这样我就知道我在那里写的所有东西都会被编译

然后每次我将文件添加到第二个项目目标框架4时,我都将它们作为链接项添加


这里的技巧是保持默认名称空间不变

如果确实要这样做,可以创建一个包含两个项目的解决方案文件。您的一个项目成为主项目,即您在该项目中进行所有编辑和调试。而另一个项目只是链接到相同的文件,但目标框架不同

在我的示例中,我将主项目的目标框架设置为2.0。这样我就知道我在那里写的所有东西都会被编译

然后每次我将文件添加到第二个项目目标框架4时,我都将它们作为链接项添加


这里的技巧是保持默认名称空间不变

为什么不为.net2.0编译呢?它将在具有2.0或4.0的两台机器上工作。维护两个版本是一件痛苦的事情。您需要将app.config文件与元素一起使用,以使CLR相信您已经测试了应用程序,使其在v4上正常工作。0@SriramSakthivelWindows 8没有.NET 2.0,4.0也不支持2.0应用程序。@HansPassant能否请您分享任何有关此的示例或文章。或者再解释一下。谢谢。为什么不为.net2.0编译呢?它将在具有2.0或4.0的两台机器上工作。维护两个版本是一件痛苦的事情。您需要将app.config文件与元素一起使用,以使CLR相信您已经测试了应用程序,使其在v4上正常工作。0@SriramSakthivelWindows 8没有.NET 2.0,4.0也不支持2.0应用程序。@HansPassant能否请您分享任何有关此的示例或文章。或者再解释一下。谢谢,太好了。。爱你就是因为这个:完美。。为此我爱你: