1

在 Build 机器上,我安装了 VS 2010 和 VS 2012。(我们几乎完成了从 VS 2010 到 2012 的迁移,刚刚迁移到 2012,构建机器也在 TFS 2012 上。)我似乎需要它来实现静态代码分析等功能。

运行构建时,我现在遇到错误:FXCop 似乎非常擅长选择错误的 .exe 版本,而项目文件中有不同的(规则).dll。(意思是:我在项目文件中有 v10 文件,但 v11 exe 被占用,反之亦然。)最重要的是(卸载 VS2010 后)我遇到了一些需要 VS 2010 的遗留 C++ 项目的问题(需要一些 MSBuild v100 而不是比 v110)。

最后我卸载了 VS2012,一旦我们完全迁移到 VS 2012,可能会恢复(如果项目与 VS 2010 兼容,一些团队成员仍然很高兴)。实际上,现在只安装了 VS2010 一切正常(尽管我不得不恢复一些更改)。

有没有更好的方法,例如,在安装了多个 VS 版本时,是否可以从构建中确定您使用哪个 FXCop 进行静态代码分析?

4

1 回答 1

1

嗯,这有点乱。我最终有选择地选择在我们的构建服务器上放置什么,而不是试图并排放置 VS2010 和 2012(那里的 2012 有很多问题,所以最终也不得不回滚)。

我们最终添加了 -

  • .NET 4.5 SDK
  • .NET 4.5 多目标包
  • .NET 4.5 框架
  • 将安装了 VS2012 的机器上的 C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PublicAssemblies 中的文件复制到构建机器上的相同路径
  • 将安装了 VS2012 的机器上的 C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0 中的文件复制到构建机器上的相同路径

我认为这可以解决所有问题,但是将所有组件都放在那里需要反复试验。祝你好运!

于 2013-05-09T15:01:33.400 回答