【问题标题】:Can we build a project using Visual Studio 2015 which is developed in Visual Studio 2019我们可以使用在 Visual Studio 2019 中开发的 Visual Studio 2015 构建项目吗
【发布时间】:2020-01-09 17:30:47
【问题描述】:

我们已经从 Visual Studio 2015 升级到 2019 并使用 VS 2019 进行了增强。现在,我们即将在构建机器中构建和打包应用程序,但问题是,我们的团队负责人说我们可以在构建机上使用Visual Studio 2015来构建项目,当我告诉他,升级2015到2019有什么用,他告诉我没关系。

现在,我需要几个充分的理由来证明使用我们使用 2019 开发的 VS 2015 构建项目并不是一个好主意。谁能告诉我几点?

谢谢。

【问题讨论】:

  • 为什么不试试呢?比推测要快得多……
  • 当我们将 TFS 升级到旧构建机器不支持的新版本时,我了解到需要升级构建机器(我认为是 VS2012 与 TFS 2008 到 2015) - 但我认为你仍然可以VS2019 可以连接到您的 TFS 源代码控制 - 它应该可以工作。取决于您的设置 - 您没有提到构建机器或 TFS / GIT / 的版本?你正在使用...
  • 查看此链接:stackoverflow.com/questions/24483589/… 几乎可以说您在构建机器上不需要 VS - 只需 MSBuild。在visualstudio.microsoft.com/downloads/… 获取 MSBuild 2019 向下滚动并选择 Visual Studio 2019 工具下的 Visual Studio 2019 构建工具。

标签: vb.net visual-studio msbuild


【解决方案1】:

现在,我需要几个充分的理由来证明使用 VS 构建项目 我们使用 2019 开发的 2015 并不是一个好主意。有人可以 告诉我几点?

对于你的情况,我必须先声明你最好使用VS2019的构建引擎来构建VS2019项目。众所周知,VS的构建引擎支持向下兼容,也就是说高版本可以构建低版本的项目。例如,您有一个由VS2015 创建的低版本项目,您可以使用VS2017,VS2019 成功构建该项目。

因此,不建议使用旧版本工具编译新版本项目。

更详细,构建引擎也是根据你当前项目的内容和内容中的代码(每个版本的VS对正在开发的代码和内容的规则略有不同)文件)最终根据构建引擎的规则生成输出文件(即target order,存在于xxx.xxporj.props.targets文件中)。

像这样:

不同版本的构建工具中规则的区别在于这些导入文件中的目标命令不同

第二,如果你的项目代码只使用了几个传递语句规则,你可以使用VS2015编译。但是,如果你使用的是某些高版本特有的语言规则,你只能使用VS2019中的构建工具,而你在VS2019中开发的项目不可避免地会使用它的规则。

第三VS2019 包含一些新的工作负载和新的项目模板,而旧版本VS2015 没有。例如,VS2019 可以创建新的Net Coreproject,而 VS2015 不包含新的工作负载,因此 VS2015 的构建工具无法构建此类项目。正因为如此,新版本的一些变化也会对msbuild产生影响。为避免无端问题,我们建议使用 VS2019。

另外,我同意ToddN。如果你觉得 VS2019 太大太麻烦无法下载到构建服务器,你可以直接下载build tool for VS2019。您不必下载庞大的 VS IDE,因为当前的 VS 编译工具可以单独下载。使用时只需要安装对应项目的工作量即可。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-30
    • 2021-02-04
    • 2017-01-15
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多