我们有一个关键的遗留应用,目前位于VS2008
,定位.Net 3.5
。我希望通过最新的Visual Studio (VS2017)
和.Net (4.6)
更新它,但由于重要原因,我们不能冒这一重要遗留应用程序的任何细微变化的风险。它是一个庞大而复杂的怪物
然而,我们仍然需要对其进行少量维护(代码更改),因此我们非常希望使用最新的工具(VS2017)
。 Soooo ...如果我们将.Net
解决方案从VS2008
升级到VS2017
以获取最新的编辑器等等。我们可以确保升级没有任何细微的副作用吗? / STRONG>? 我们会将目标版本设置为.Net 3.5 ,但我的经理担心其他一些事情也可能会发生变化(有关用于构建的工具集吗?)。当然,有充分的理由将所有内容都升级到最新版本,但只是接受这样的假设:出于重要的业务/法律原因,除了维护代码更改之外,我们承担不起冒险对最终编译产品进行任何细微更改的风险。想法?
答案 0 :(得分:0)
找到我想要的答案。
项目文件(* .csproj)中有两个标志来控制代码的构建方式:
这些是在项目级别设置的,与用于编辑的Visual Studio版本无关。在我们的案例中,管理层希望保留较旧的工具和目标框架以最大限度地降低风险,因此我们只需将这些标志保留为原始值即可控制。我尝试将解决方案升级到VS2017,这些项目值保持不变,所以我们应该选择VS2017。
<Project ToolsVersion="4.0" ...>
. . .
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
参考:https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild-toolset-toolsversion