【发布时间】:2015-02-06 22:11:58
【问题描述】:
我正在尝试将一些运行 MSBuild 的旧批处理文件转换为 PowerShell 脚本。研究Invoke-MSBuild命令,我想出了下面的代码:
Invoke-MsBuild -Path "C:\path\solution.sln" -MsBuildParameters "/target:Clean;Rebuild /property:Configuration=Release;Platform=""x64"" /fl /flp:verbosity=normal;logfile=C:\path\logfile.log" -KeepBuildLogOnSuccessfulBuilds
查看日志文件,当我运行脚本时,它开始使用 MSBuild 构建解决方案文件,但我不断收到此错误:
错误 MSB8020:找不到 v120 的构建工具(平台工具集 = 'v120')。要使用 v120 构建工具进行构建,请单击“项目”菜单或右键单击解决方案,然后选择“更新 VC++ 项目...”。安装 v120 以使用 v120 构建工具进行构建。
我很困惑,因为我有使用 12.0 平台的 Visual Studio 2013。我尝试重新安装 v120 构建工具,但没有任何改变。
【问题讨论】:
-
您的旧批处理脚本是否仍然可以在同一台机器上运行?批处理命令是什么样的?
-
@sburgess123 是的,旧的批处理脚本仍然有效:msbuild.exe C:\path\solution.sln /t:Clean;Rebuild /p:Configuration=Release;Platform=x64
-
@StewC 你从哪里启动旧的批处理文件?也就是说,您是从 Visual Studio 命令提示符启动它吗?您是否在运行之前运行任何设置?
-
在运行之前没有设置。我只是从常规 cmd 命令提示符调用我的批处理文件来运行它,它构建得很好。此外,我为我的批处理脚本调用的 msbuild.exe 来自“C:\Program Files (x86)\MSBuild\12.0\Bin " 目录(使用我希望 Powershell 脚本使用的相同 12.0 平台)
标签: powershell visual-studio-2013 msbuild