如何在 BuildServer 上构建 VS2010 C++ 项目

2024-04-11

我有一个 .NET 解决方案,其中包含使用 VS2010 创建的面向 .NET 3.5 的托管 C++ 程序集。命令:

%windir%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe MyProject.sln

在我的开发机器上编译解决方案。

在我的 BuildServer 上,我收到此错误:

构建失败。

“F:\CruiseControl.NET\Projects\MyProject\MyProject.sln” (默认目标)(1) -> “F:\CruiseControl.NET\Projects\MyProject\MyProject\MyProject.csproj” (默认目标)(2) -> “F:\CruiseControl.NET\Projects\MyProject\MyProjectMAPIHelper\MyProjectMAPIHelper.vcxproj” (默认目标) (3) ->
F:\CruiseControl.NET\Projects\MyProject\MyProjectMAPIHelper\MyProjectMAPIHelper.vcxproj(23,3): 错误 MSB4019:导入的项目 “C:\程序 文件\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp.Default.props” 没找到。确认路径 在里面<Import>声明是 正确,并且该文件存在于 磁盘。

0 Warning(s)
1 Error(s)

在我的开发机器上声明的文件

“C:\ Program Files \ MSBuild \ Microsoft.Cpp \ v4.0 \ Microsoft.Cpp.Default.props”

存在。在我的构建服务器上没有。

当我尝试复制此文件(以及同一目录中的所有其他文件)时,发生了其他错误。所以这是错误的方法。

EDIT:其他错误意味着:当我在生成服务器上复制文件“Microsoft.Cpp.Default.props”时,MSBuild 正在声明其他文件。这告诉我,仅仅复制丢失的文件并不是构建环境所期望的。我正在寻找一个 MSI/任何可以安装在我的构建服务器上的包,并且任何 C++ 项目都可以构建。安装 SDK 并没有解决问题。或者是我在安装SDK的时候做错了什么。或者仅使用 SDK 无法编译托管 C++ VS2010 解决方案。

我相信“其他错误”与我的问题无关。我的问题是:“如何正确设置我的构建环境”。/EDIT

到目前为止我所做的:

  • 我已经安装了最新的Win7 SDK(Link https://web.archive.org/web/20160314045227/http://blogs.msdn.com:80/b/windowssdk/archive/2010/05/25/released-windows-sdk-for-windows-7-and-net-framework-4.aspx)
  • 我的目标是 .net 3.5
  • 我尝试过使用平台工具集属性 - 但它只是玩
  • 在我的解决方案中有一个托管的 C++ 程序集(我的问题)
  • 我使用的是 MSBuild 4.0,因为新的 VS2010 项目文件无法使用 MSBuild 3.5 进行编译
  • 我正在使用CC.NET。 CC.NET 编译失败and在命令行上。所以应该不是CC.NET的问题。

有没有任何提示和技巧如何正确配置我的项目以使用 VS2010 在我的开发机器上进行编译and在我的构建服务器上?还需要安装什么吗(VS2010除外)?

谢谢,亚瑟


目前,安装 VS 2010 是您唯一安全的选择。 Windows SDK 将进行更新以支持您的方案,但我没有具体的发布日期。在此之前,您需要使用 C++ 工具安装 VS 2010,以便使用 C++ 项目构建 2010 解决方案。确保让 C++ 团队通过他们的方式了解对这种情况的不满团队博客 https://web.archive.org/web/20160129153106/http://blogs.msdn.com/b/vcblog/ and/or MSDN 论坛 https://social.msdn.microsoft.com/Forums/en-US/home?forum=vcgeneral.

即使安装了 VS 2010 后,您也可能需要调用相应的 vcvars*.bat 文件来正确设置环境变量。

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

如何在 BuildServer 上构建 VS2010 C++ 项目 的相关文章

  • 添加对共享类的多个 WCF 服务的服务引用

    我正在尝试将我的 WCF Web 服务拆分为几个服务 而不是一个巨大的服务 但是 Visual Studio Silverlight 客户端 复制了两个服务共享的公共类 这是一个简单的例子来说明我的问题 在此示例中 有两个服务 两者都返回类
  • 在 C++ 中分割大文件

    我正在尝试编写一个程序 该程序接受一个大文件 任何类型 并将其分成许多较小的 块 我想我已经有了基本的想法 但由于某种原因我无法创建超过 12 kb 的块大小 我知道谷歌等上有一些解决方案 但我更感兴趣的是了解这个限制的根源是什么 然后实际
  • 如何进行带有偏差的浮点舍入(始终向上或向下舍入)?

    我想以偏置舍入浮动 要么总是向下 要么总是向上 代码中有一个特定的点 我需要这个 程序的其余部分应该像往常一样四舍五入到最接近的值 例如 我想四舍五入到最接近的 1 10 倍数 最接近 7 10 的浮点数约为 0 69999998807 但
  • 使用实体框架从集合中删除项目

    我正在使用DDD 我有一个 Product 类 它是一个聚合根 public class Product IAggregateRoot public virtual ICollection
  • Linux TUN/TAP:无法从 TAP 设备读回数据

    问题是关于如何正确配置想要使用 Tun Tap 模块的 Linux 主机 My Goal 利用现有的路由软件 以下为APP1和APP2 但拦截并修改其发送和接收的所有消息 由Mediator完成 我的场景 Ubuntu 10 04 Mach
  • ASP .NET MVC,创建类似路由配置的永久链接

    我需要帮助在 MVC 网站中创建类似 URL 路由的永久链接 Slug 已设置为 www xyz com profile slug 代码为 routes MapRoute name Profile url profile slug defa
  • Guid 应包含 32 位数字和 4 个破折号

    我有一个包含 createuserwizard 控件的网站 创建帐户后 验证电子邮件及其验证 URL 将发送到用户的电子邮件地址 但是 当我进行测试运行时 单击电子邮件中的 URL 时 会出现以下错误 Guid should contain
  • 在另一个模块中使用自定义 gradle 插件模块

    我正在开发一个自定义插件 我希望能够在稍后阶段将其部署到存储库 因此我为其创建了一个独立的模块 在对其进行任何正式的 TDD 之前 我想手动进行某些探索性测试 因此 我创建了一个使用给定插件的演示模块 到目前为止 我发现执行此操作的唯一方法
  • std::map 和二叉搜索树

    我读过 std map 是使用二叉搜索树数据结构实现的 BST 是一种顺序数据结构 类似于数组中的元素 它将元素存储在 BST 节点中并按其顺序维护元素 例如如果元素小于节点 则将其存储在节点的左侧 如果元素大于节点 则将其存储在节点的右侧
  • VS30063:您无权访问 https://dev.azure.com

    我正在尝试在 asp net core 2 1 mvc 应用程序中使用以下代码连接 Azure DevOps Uri orgUrl new Uri https dev azure com xxxxx String personalAcces
  • C++11 函数局部静态 const 对象的线程安全初始化

    这个问题已在 C 98 上下文中提出 并在该上下文中得到回答 但没有明确说明有关 C 11 的内容 const some type create const thingy lock my lock some mutex static con
  • 将构建参数传递给 .wxs 文件以动态构建 wix 安装程序

    我是一名学生开发人员 我已经为我现在工作的公司构建了几个安装程序 所以我对WIX还是比较熟悉的 我们最近决定拥有一个构建服务器来自动构建我们的解决方案 它构建调试和发布以及混淆 和非混淆 项目 你真的不需要理解这些 您需要了解的是 我有相同
  • gdb 在 docker 上立即退出“进程已完成,退出代码 1”或 lldb“数据包返回错误 8”。另外:如何在 docker 中允许进行 C++ 调试

    这花了我一整天的时间才找到 所以我将其发布以供将来参考 我正在 docker 镜像上开发 C 我正在使用克利翁 我的代码是在调试模式下编译的 并且在运行模式下运行良好 但是当尝试调试时 进程会立即退出 并显示非常丰富的信息 Process
  • std::bind 重载解析

    下面的代码工作正常 include
  • 在 C 中复制两个相邻字节的最快方法是什么?

    好吧 让我们从最明显的解决方案开始 memcpy Ptr const char a b 2 调用库函数的开销相当大 编译器有时不会优化它 我不会依赖编译器优化 但即使 GCC 很聪明 如果我将程序移植到带有垃圾编译器的更奇特的平台上 我也不
  • 32位PPC rlwinm指令

    我在理解上有点困难rlwinmPPC 汇编指令 旋转左字立即然后与掩码 我正在尝试反转函数的这一部分 rlwinm r3 r3 0 28 28 我已经知道什么了r3 is r3在本例中是一个 4 字节整数 但我不确定这条指令到底是什么rlw
  • 是否有一个 C++ 库可以从 PDF 文件中提取文本,例如 PDFBox for Java? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 去年 我使用 PDFBox 在 Java 中创建了一个应用程序来获取某些 PDF 文件中的原始文本 现在
  • 如何查明CONFIG_FANOTIFY_ACCESS_PERMISSIONS是否启用?

    我想利用fanotify 7 http man7 org linux man pages man7 fanotify 7 html我遇到的问题是在某些内核上CONFIG FANOTIFY ACCESS PERMISSIONS不起作用 虽然C
  • 在基类集合上调用派生方法

    我有一个名为 A 的抽象类 以及实现 A 的其他类 B C D E 我的派生类持有不同类型的值 我还有一个 A 对象的列表 abstract class A class B class A public int val get privat
  • Swagger 为 ASP.CORE 3 中的字典生成错误的 URL

    当从查询字符串中提取的模型将字典作为其属性之一时 Swagger 会生成不正确的 URL 如何告诉 Swagger 更改 URL 中字典的格式或手动定义输入参数模式而不自动生成 尝试使用 Swashbuckle 和 NSwag 控制器 pu

随机推荐