Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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
.net 如何升级多个';s一次性将目标定为3.5到4.0?_.net_Visual Studio 2010_.net 3.5_.net 4.0_Upgrade - Fatal编程技术网

.net 如何升级多个';s一次性将目标定为3.5到4.0?

.net 如何升级多个';s一次性将目标定为3.5到4.0?,.net,visual-studio-2010,.net-3.5,.net-4.0,upgrade,.net,Visual Studio 2010,.net 3.5,.net 4.0,Upgrade,在一个大的解决方案中,我们有大约100个项目都以3.5为目标,目前正在VS.NET 2010中 现在我们想把它升级到.NET4.0,我需要一个接一个地改变他们的目标吗?或者有什么方法可以自动化这个过程吗?在升级许多项目和类似操作时,我通常使用“在文件中查找和替换” 首先我升级一个项目并区分结果,然后在.csproj文件中搜索并替换相关部分。是。您必须将它们分别更改为使用.Net 4.0 或者,您可以制作一个脚本来更改所有项目文件的文本,并更改支持的框架。但是,这将需要更多的时间,而不仅仅是将它们

在一个大的解决方案中,我们有大约100个项目都以3.5为目标,目前正在VS.NET 2010中


现在我们想把它升级到.NET4.0,我需要一个接一个地改变他们的目标吗?或者有什么方法可以自动化这个过程吗?

在升级许多项目和类似操作时,我通常使用“在文件中查找和替换”


首先我升级一个项目并区分结果,然后在.csproj文件中搜索并替换相关部分。

是。您必须将它们分别更改为使用.Net 4.0

或者,您可以制作一个脚本来更改所有项目文件的文本,并更改支持的框架。但是,这将需要更多的时间,而不仅仅是将它们全部消化并改变它们

请注意,你不必这么做。有向后兼容性。。使用.NET3.5编译的项目将使用.NET4.0

您真正需要做的唯一一件事是更改安装项目,将.Net 4.0作为先决条件


除此之外,您不需要更改框架,直到您真正想要使用新框架中的某些内容。

当我们从2.0升级到3.5+VS2008时,我也做了类似的事情。我确实使用了awk(实际上是呆呆的)。在转换过程中,我可以在不冻结其他开发人员签入的情况下进行迁移

awk允许我指定一系列要在每个文件中查找的正则表达式模式,并执行一个“操作”。框外支持的函数与我使用的VBScript。 我在这里呆呆地看着-


我发现这篇文章对学习很有帮助-

我不确定是否要从3.5升级到4.0,但如果您要从2.0升级到4.0,您会看到VS2010实际上添加了一个默认的app.config文件(如果您没有自己的文件),这意味着您还必须将此文件复制到每个项目中。此外,如果您有一些*.designer文件,这些文件也可能会更改,因此您必须相应地更新

总而言之,以下是程序:

  • 升级一个项目并区分所有文件上的更改(我发现使用源代码管理最适合于此)
  • 编写一个脚本/工具,枚举整个解决方案并。。。 A.将app.config复制到每个项目文件夹中 B更改*.proj文件以匹配p.1的差异 C如果需要,更改其余文件
  • 这个扩展非常有效


    安装后,只需转到
    工具
    ->
    目标框架迁移器

    ,这就是我们希望使用4.0功能的想法,但我不想手动更改100个项目,这需要大约300次单击:)因此,在每个项目中,当您开始使用4.0功能时,再单击一次并将其更改为4.0。。。延迟更新:)延迟更新,不错:)可能重复