如何在 Appveyor 构建之前运行 VCUpgrade?

2024-01-11

我们分发了一组 Visual Studio 2010 项目文件。用户应该根据自己的口味进行升级。我们的.appveyor.yml file http://github.com/weidai11/cryptopp/blob/master/.appveyor.yml包括以下图像(除了配置和平台):

  • 视觉工作室 2017
  • 视觉工作室 2015
  • 视觉工作室2013
  • 视觉工作室2012
  • 视觉工作室2010

Visual Studio 2017 构建失败,原因如下:

Build started
git clone -q --depth=3 --branch=master https://github.com/noloader/cryptopp.git C:\projects\cryptopp
git checkout -qf 3504f1da2591d8b84e356527ed41dc6209eafa06
msbuild "C:\projects\cryptopp\cryptest.sln" /verbosity:minimal /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
Microsoft (R) Build Engine version 15.1.1012.6693
Copyright (C) Microsoft Corporation. All rights reserved.
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.Cpp.Platform.targets(55,5): error MSB8020: The build tools for Visual Studio 2010 (Platform Toolset = 'v100') cannot be found. To build using the v100 build tools, please install Visual Studio 2010 build tools.  Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution". [C:\projects\cryptopp\cryptlib.vcxproj]
Command exited with code 1

感兴趣的文本是:

错误 MSB8020:找不到 Visual Studio 2010 的构建工具(平台工具集 = 'v100')。要使用 v100 构建工具进行构建,请安装 Visual Studio 2010 构建工具。或者,您可以通过选择“项目”菜单或右键单击解决方案,然后选择“重新定位解决方案”来升级到当前的 Visual Studio 工具。

当我在开发人员命令提示符下工作时,我运行VCUpgrade或者我使用 GitBash 和sed -i s'|Tools>v100|Tools>v120' *vcxproj*更改平台工具集。

当我尝试通过 AppVeyor 运行它时test_script:,这会导致另一次失败。例如,从1.0.131 构建日志 https://ci.appveyor.com/project/noloader/cryptopp/build/1.0.131/job/6eihy013eqs6y5nu:

...
vcupgrade.exe -nologo -overwrite cryptlib.vcxproj
'vcupgrade.exe' is not recognized as an internal or external command,
operable program or batch file.
Command exited with code 1

我的问题是,我们如何告诉 Appveyor 更改平台工具集?是否有要运行的步骤或配置选项VCUpgrade?或者我们做点别的吗?


这是本地运行 VCUpgrade 时提供的帮助:

> vcupgrade
Microsoft (R) Visual C++ Project Convert Utility - Version 11.00.61030
Copyright (C) Microsoft Corporation. All rights reserved.

  Usage: VCUpgrade [options] <project file>

  Options:
     -nologo            Suppresses the copyright message
     -nocolor           Do not output error and warning messages in color
     -overwrite         Overwrite existing files
     -PersistFramework  Keep the Target Framework Version while upgrading. (-p)

AppVeyor目前提供使用 VS 2013、2015 和 2017 构建工作映像 https://www.appveyor.com/docs/build-environment/#build-worker-images。抱歉,目前没有添加 VS 2010 和 2012 的计划。

对您来说有趣的选择可能是自定义构建环境。它是“混合”解决方案,您拥有基础架构和映像,AppVeyor 提供 UI 和编排。文档用于Azure https://www.appveyor.com/docs/enterprise/running-builds-on-azure/ and Hyper-V https://www.appveyor.com/docs/enterprise/running-builds-on-hyper-v/现已可用,其他提供商的文档正在准备中。

请注意,自定义构建环境现在可供高级计划客户使用。如果您想尝试,请发送邮件至 appveyor.com 团队。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Appveyor 构建之前运行 VCUpgrade? 的相关文章

  • 我想在 64 位模式下运行我的视觉工作室

    我正在 NET 3 5 中编写 Web 服务 在此我必须访问 SharePoint 2010 数据 但 SharePoint 需要我的应用程序使用 64 位模式 Visual Studio 默认处于 32 位模式 如何以 64 位运行 Vi
  • 错误 LNK2001:无法解析的外部符号 __CxxFrameHandler3

    我正在将 Qt 从 VS 2013 迁移到 Qt 5 10 1 到 VS 2015 出现以下多个链接错误 error LNK2001 unresolved external symbol CxxFrameHandler3 error LNK
  • 删除自动导入的自定义项目模板

    我删除了放置在导出模板文件夹中的导出 zip 文件 当然它仍然显示在 Visual Studio 的 添加新项目 对话框中 我预料到了这一点 但我很难找到模板文件的其他存储位置 如何删除自定义模板 Edit 我搜索了以下文件夹 以及许多其他
  • 如何调用向导来添加新的项目模板

    我有一个通过向导生成的项目模板 现在我想通过同一个向导添加一个新的项目模板 添加新项目模板时如何调用向导 Example Add to Project Template Wizard Form Add the new Item Templa
  • 在 Visual Studio 2013 中更改 TFS 源代码管理映射

    我有多个先前映射到托管 TFS 的解决方案 他们的本地映射也已定义 并且所有源代码都是本地最新的 此后我停止了 TFS 订阅并开始使用 Visualstudio com 作为我的 TFS 服务器 我进入其中一个解决方案 从解决方案中删除 v
  • 为什么文件更新时“如果较新则复制”不复制文件?

    我在 Visual Studio Express 中有一个解决方案 如下所示 The LogicSchemaC 中的类 将在运行时解析指定的 XML 文件 以下是在main的方法Program cs LogicSchema ls new L
  • 在 Xamarin 中获取 OutOfMemoryException

    java lang OutOfMemoryError 考虑增加 JavaMaximumHeapSize Java 执行时内存不足 java exe 我的 Visualstudio Xamarin 项目出现内存不足异常 请帮助我如何解决此问题
  • 解决方案文件的修改权限

    我有用VS2005开发的项目解决方案 它绑定到 TFS Team Foundation Server 我想将解决方案转换为 VS2008 版本 保持绑定不变 但是在转换时出现错误 错误信息 解决方案文件 C abc abc sln 无法转换
  • 找不到 assimp-vc140-mt.dll ASSIMP

    我已经从以下位置下载了 Assimp 项目http assimp sourceforge net main downloads html http assimp sourceforge net main downloads html Ass
  • Visual Studio 2010 中的 SOIL 设置

    我无法得到SOIL http www lonesock net soil html正确使用 Visual Studio 2010 我远非 VS 专家 但据我所知 只需执行以下步骤即可使环境正常运行 属性 gt gt C C gt 常规 gt
  • 如何在 Visual Studio 2010 Professional 中启用代码分析?

    我可以看到我们可以在 Visual Studio Team Systems 中启用代码分析 但我使用的是 Visual Studio 2010 Professional 我们是否可以选择在此版本中启用代码分析 或者我们可以将 FxCop 和
  • 使 Visual Studio 设计器忽略公共属性

    我有一个带有公共属性的 UserControl 使用以下属性 Browsable false DesignerSerializationVisibility DesignerSerializationVisibility Hidden 我尝
  • 查找解决方案中所有项目的所有参考

    我的解决方案包含多个项目 例如 P1 P2 在项目依赖中 我将P2设置为依赖于P1 因此P2使用了P1中的一些类 当我对 P1 的类 方法执行 查找所有引用 时 结果仅显示 P1 中出现的情况 不是 P2 中使用的事件 有没有办法让 查找所
  • 如何在没有互联网连接的情况下安装 NuGet 包?

    目前我正在一台不允许访问互联网的虚拟电脑上进行开发 我设法获取 NuGet Tools vsix 将 NuGet 添加到 Visual Studio 2010 但似乎无法找出如何离线部署 NuGet 包 例如 我下载了EntityFrame
  • Visual Studio 的 C# 智能感知是否可以提示先显示某个方法重载?

    我有两个互相重载的方法 public class Car public int GetPrice string vinNumber string make Database GetMake vinNumber expensive opera
  • 在 Visual Studio 2008 上设置预调试事件

    我想在 Visual Studio 中开始调试程序之前运行一个任务 我每次调试程序时都需要运行此任务 因此构建后事件还不够好 我查看了设置的 调试 选项卡 但没有这样的选项 有什么办法可以做到这一点吗 你唯一可以尝试的 IMO 就是尝试Co
  • 如何在 Windows 下使用 cmake 生成使用 Intel 编译器的 Visual Studio 项目

    我正在用 C 开发一个跨平台 Linux Windows 应用程序 我已经厌倦了维护可用的 Makefile 和 Visual Studio 解决方案 项目 所以我想过渡到 cmake 我在两个平台上都使用英特尔编译器 我在 Windows
  • Visual Studio,应用程序设置...重新排列

    愚蠢的问题 纯粹是审美 鉴于上面的图片 如何上移 下移值 例如 状态 属于 高度 宽度 顶部 左侧 窗口位置 状态 分组 这不是我后来添加东西但慢慢变得混乱的唯一项目 可以删除 重新添加 但这会变得乏味且容易出错 可以保留原样 但这只是一个
  • 我可以像Visual Studio一样设置Intellij IDE的环境吗?

    如何让它看起来像 Visual Studio 我说的是 Intellij Idea 9 和 10 cc 我想你会发现这个主题符合你的喜好 看一下 我也在 intelliJ 中使用它 我有时会在它和默认值之间切换 我发现有时阅读 JSP 有点
  • Visual Studio 中是否有“便笺本”窗口

    我目前使用记事本来存储有关我的代码的小注释 这通常是代码和需求的混合 VS 中是否有一个 便签本 类型的窗口 我可以在其中执行此操作 另一种选择是在源文件中使用代码注释块 但这并不是我想要的 尝试添加便签 http www davidhay

随机推荐