如何升级多个项目(同一解决方案),一次性定位3.5到4.0?

时间:2011-04-02 15:17:20

标签: .net visual-studio-2010 .net-3.5 .net-4.0 upgrade

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

现在我们要将其升级到.NET 4.0,我是否必须逐个更改目标?或者有没有办法自动化这个过程?

5 个答案:

答案 0 :(得分:9)

Target Framework Migrator扩展名效果很好。

安装后,只需转到Tools - > Target Framework Migrator

答案 1 :(得分:6)

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

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

答案 2 :(得分:2)

是。您将不得不更改它们以使用.Net 4.0。

或者您可以创建一个更改所有项目文件文本的脚本并更改支持的框架。但是,它需要更多的时间,而不仅仅是通过它们来改变它们。

请注意,您不必这样做。具有向后兼容性..编译为与.Net 3.5一起使用的项目将与.Net 4.0一起使用

您真正需要做的只是更改安装项目以包含.Net 4.0作为先决条件。

除此之外,在您真正想要使用新框架中的内容之前,您无需更改框架。

答案 3 :(得分:1)

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

总结一下,这是程序:

  1. 升级一个项目并在所有文件上区分更改(我发现使用源代码管理最适用于此)
  2. 编写一个脚本/工具,列举整个解决方案并...... 一个。将app.config复制到每个项目文件夹 湾更改*。* proj文件以匹配p.1的diff C。如果需要,更改其余文件

答案 4 :(得分:0)

当我们从2.0升级到3.5 + VS2008时,我做了类似的事情。我确实使用过awk(实际上是gawk)。我能够进行迁移,而不必在转换时冻结其他开发人员签到。

awk允许我指定一系列RegEx模式以在每个文件中查找并执行“操作”。开箱即用的支持功能与我习惯使用vbscript的功能相同。

我从这里得到了gawk - http://unxutils.sourceforge.net/

我发现这篇文章有助于学习 - http://www.cs.utah.edu/dept/old/texinfo/gawk/gawk_toc.html