Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我应该如何管理.Net和Visual Studio版本?_C#_Visual Studio 2012 - Fatal编程技术网

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

C# 我应该如何管理.Net和Visual Studio版本?,c#,visual-studio-2012,C#,Visual Studio 2012,当使用多个版本的.Net或多个版本的Visual Studio时,Microsoft似乎没有解决管理Visual Studio项目中的问题。有人能推荐一些明智地管理这些问题的方法吗 我们有相当多的代码是使用VisualStudio2008编写的。如果我们想更新代码并选择使用VS 2012,VS会进行单向升级,我们不能再在这些项目上使用VS 2008。我们至少有一台机器运行Windows Server 2003,虽然它通常不用于开发,但我们有时确实会使用它,并且我们无法在其上安装VS 2012 更

当使用多个版本的.Net或多个版本的Visual Studio时,Microsoft似乎没有解决管理Visual Studio项目中的问题。有人能推荐一些明智地管理这些问题的方法吗

我们有相当多的代码是使用VisualStudio2008编写的。如果我们想更新代码并选择使用VS 2012,VS会进行单向升级,我们不能再在这些项目上使用VS 2008。我们至少有一台机器运行Windows Server 2003,虽然它通常不用于开发,但我们有时确实会使用它,并且我们无法在其上安装VS 2012

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


我甚至不能真正使用相同的源代码文件,因为.NET4.5和早期版本之间的可用库存在差异。想到的是System.Threading.Tasks,它默认包含在.Net 4.5文件中,在早期的.Net版本中不可用。我不知道使用编译器常数来区分C中的操作系统或.NET版本,至少在C++中是可能的。

< P>我在过去几年中处理过同样的问题,并且我的解决方案根据项目而有所不同。我的最佳解决方案(我90%的时间都在使用)是将项目迁移到最新版本的VisualStudio。对于不可能的项目,我创建虚拟机来保存我需要的VisualStudio安装。然后,每当我需要在遗留项目中工作时,我就会启动VMware workstation并将其置于全屏模式


不确定这是否适用于您,但它适用于我。

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


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

为了澄清您的问题:您是说对于同一个项目,您希望能够基于本地机器上正在编辑的可用的网络来更改.NET版本吗?请考虑将您的问题分割成更具体的一点——在这一点上,我看到了3个单独的问题:如何在VS2008和VS201+的同时使用同一个项目,而不能使用。如何在同一项目中指定多个目标框架,以及如何在项目中指定多个重复的条件编译符号。