我该如何管理.Net和Visual Studio版本?

时间:2015-02-16 18:01:32

标签: c# visual-studio-2012

当使用多个版本的.Net或多个版本的Visual Studio时,Microsoft似乎没有考虑管理Visual Studio项目的问题。任何人都可以推荐智能管理这些方法吗?

我们有很多使用Visual Studio 2008编写的代码。如果我们想要更新代码并选择使用VS 2012,VS会进行单向升级,我们无法在这些代码上使用VS 2008项目了。我们至少有一台运行Windows Server 2003的计算机,虽然它通常不用于开发,但我们有时会使用它,我们无法在其上安装VS 2012。

更糟糕的是,我们的客户拥有各种操作系统的计算机,因此我们不能指望拥有特定版本的.Net。能够在项目配置中选择.Net版本会很好,但我们不能。 “项目”屏幕的第一个选项卡包含.Net版本选择,该屏幕不会随着不同的项目配置而更改。

我甚至不能真正使用相同的源代码文件,因为.Net 4.5和早期版本之间的可用库存在差异。想到的是System.Threading.Tasks,它默认包含在.Net 4.5文件中,并且在早期的.Net版本中不可用。我不知道如何使用编译器常量来区分C#中的操作系统或.Net版本,就像在C ++中那样(或者至少可以)。

2 个答案:

答案 0 :(得分:0)

过去几年我处理过同样的问题,我的解决方案因项目而异。我的最佳解决方案是90%的时间用于将项目迁移到最新版本的Visual Studio。对于那些无法实现的项目,我创建虚拟机来保存我需要的visual studio安装。然后,每当我需要在遗留项目中工作时,我都会启动VMware工作站并将其置于全屏模式。

不确定这对你有用,但对我有用。

答案 1 :(得分:0)

您可以并排安装多个版本的Visual Studio(我在同一台开发机器上安装了2008,2010,2012,2013和2015预览版)。如果你有一个项目,其中一些开发人员不能使用最新版本的VS,那么你只需要使用旧版本。虽然在2012-2015期间您可以往返(即,当您使用更高版本的VS打开解决方案时没有升级)。

对于.NET版本,您可以从VS的更高版本中定位早期版本的.NET。在这里,您需要确定您计划针对给定平台定位的最低.NET级别(期望您的客户已安装)。 .NET的更高版本添加了其他功能,因此您需要决定是否要使用这些功能,从而要求您的客户升级.NET,或者如果您不使用这些功能。要考虑的一个选项是为应用程序部署创建一个简单的安装程序,其中包含必需的.NET boost安装程序。该框架的下一个版本应该允许在您的应用程序目录中部署框架库,这可能会缓解客户在系统上安装的.NET版本的问题。