【发布时间】:2014-05-06 14:17:38
【问题描述】:
我最近升级到 Visual Studio 2013,在使用 MSBuild(API 或带有命令行参数的可执行文件)进行外部构建时导致出现背靠背问题
问题 #1 使用 MSBuild 构建时,它不会生成我们的单元测试所需的假程序集,这会导致构建失败。 Visual Studio 中的一个简单构建会暂时解决此问题,直到需要生成新的假程序集。
问题 #2 运行代码分析时,会出现以下问题:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\CodeAnalysis\Microsoft.CodeAnalysis.targets(284,5):
error MSB4127: The "CodeAnalysis" task could not be instantiated from the assembly "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\CodeAnalysis\.\FxCopTask.dll".
Please verify the task assembly has been built using the same version of the Microsoft.Build.Framework assembly as the one installed on your computer and that your host application is not missing a binding redirect for Microsoft.Build.Framework. Unable to cast object of type 'Microsoft.Build.Tasks.CodeAnalysis' to type 'Microsoft.Build.Framework.ITask'.
我的机器上只安装了 Visual Studio 2013,显然安装旧版本可以解决问题,但这不是我能做的。 (VS 2013 附带了自己的 MSBuild 12.0,它与之前的 MSBuild 位于不同的目录中)。
我不确定为什么 Visual Studio 的行为与 MSBuild 有任何不同,我只是像这样指向解决方案文件...
msbuild.exe "path\solution.sln" /property:Configuration=Debug
【问题讨论】:
标签: visual-studio msbuild visual-studio-2013