繁体   English   中英

使用Microsoft C ++编译器而不安装Visual Studio

[英]Using Microsoft C++ compiler without installing Visual Studio

在我们的团队中,开发人员都拥有Visual Studio 2012,我们也使用TFS2012构建。 出于空间和可管理性的原因,我们不在我们的(许多)构建代理上安装Visual Studio。 到目前为止,这对C#项目(csproj)起了作用。

现在我们要添加对C ++项目(vcxproj)的支持。 这些构建在开发人员的机器上,但不在构建代理上 - 我们得到: X.vcxproj(31,3): error MSB4019: The imported project "C:\\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk. X.vcxproj(31,3): error MSB4019: The imported project "C:\\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

我想这是因为C ++编译器和目标只与VS一起安装。

  1. 有没有办法只检查编译器和目标,并在common.targets中设置一些属性指向那里?
  2. 如果做不到这一点,我需要在每个构建代理上安装以支持C ++编译的最小值是多少? 我能找到的最少的是VS Express,这仍然是我不喜欢的。

对于C#来说很简单,编译C#程序的能力在框架System.CodeDom中是天生的,所以只安装.NET就足够了。 对于C ++来说并非如此。 您至少需要安装Windows SDK,半场演出。 这包括早于8.0的SDK版本中的C ++编译器

但是,您接下来会担心找到一种方法来获取该机器上的类库。 以ATL和MFC为例。 你不能只是复制它们,这违反了许可证。 更糟糕的是,微软并没有像过去那样开展业务。 自VS2012以来,他们改为快速发布周期,并以几个月的方式发布更新。 这些不是你可以忽略的更新,它们添加了很多主要的块来实现C ++ 11。 绝对是您的C ++程序员想要使用的那种。

通常,C ++编译器的SDK版本与VS版本不同步,Windows团队没有义务保持更新。 构建机器永远不应该做的一件事是运行一组不同于程序员使用的构建工具。 这使得构建中断无法被开发者重现一个非常讨厌的争论点。 除非你喜欢让你的生活变得复杂,否则这个信息很清楚。 不要这样做,安装VS.

早期的TFS版本也存在此问题。 据我所知,唯一的解决方案是将目标复制到代理。 应该足以创建此文件夹的副本:

MSBuild\\Microsoft\\VisualStudio\\v11.0\\*.*

至少您不必在代理上安装Visual Studio(除了您希望自动创建安装项目)。

这里也描述错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM