将旧项目升级到VS2017的安全方法

时间:2018-02-09 15:17:35

标签: visual-studio-2008 visual-studio-2017

我们有一个关键的遗留应用,目前位于VS2008,定位.Net 3.5。我希望通过最新的Visual Studio (VS2017).Net (4.6)更新它,但由于重要原因,我们不能冒这一重要遗留应用程序的任何细微变化的风险。它是一个庞大而复杂的怪物 然而,我们仍然需要对其进行少量维护(代码更改),因此我们非常希望使用最新的工具(VS2017)。 Soooo ...如果我们将.Net解决方案从VS2008升级到VS2017以获取最新的编辑器等等。我们可以确保升级没有任何细微的副作用吗? / STRONG>? 我们会将目标版本设置为.Net 3.5 ,但我的经理担心其他一些事情也可能会发生变化(有关用于构建的工具集吗?)。当然,有充分的理由将所有内容都升级到最新版本,但只是接受这样的假设:出于重要的业务/法律原因,除了维护代码更改之外,我们承担不起冒险对最终编译产品进行任何细微更改的风险。想法?

1 个答案:

答案 0 :(得分:0)

找到我想要的答案。

项目文件(* .csproj)中有两个标志来控制代码的构建方式:

  • ToolsVersion - 确定用于编译/构建项目的实际工具,可以是使用旧版本的.Net和Visual Studio部署的工具,也可以是更新的工具
  • TargetFrameworkVersion - 确定使用的.Net框架版本(旧版本或更新版本)

这些是在项目级别设置的,与用于编辑的Visual Studio版本无关。在我们的案例中,管理层希望保留较旧的工具和目标框架以最大限度地降低风险,因此我们只需将这些标志保留为原始值即可控制。我尝试将解决方案升级到VS2017,这些项目值保持不变,所以我们应该选择VS2017。

<Project ToolsVersion="4.0" ...>
. . .
    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>

参考:https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild-toolset-toolsversion