使用MSBuild编译ToolsVersion 3.5

时间:2015-07-07 22:34:56

标签: c# .net visual-studio-2013 msbuild

我需要使用MSBuild为.Net版本3.5编译visual studio项目。我已经下载了Visual Studio 2013,它附带了一个使用.Net 4.5版的工具链12.0。我无法安装Visual Studio 2008(随.NET 3.5一起提供),因为我的Windows 7 PC不支持。

我正在使用以下powershell脚本来执行此操作: -

# set environment variables for Visual Studio Command Prompt
pushd 'c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC'
cmd /c "vcvarsall.bat&set" |
foreach {
  if ($_ -match "=") {
    $v = $_.split("="); set-item -force -path "ENV:\$($v[0])"  -value "$($v[1])"
  }
}
popd
write-host "`nVisual Studio 2010 Command Prompt variables set." -ForegroundColor Yellow

$ErrorActionPreference = "Stop" 
write-host "** building busdog.sys" -ForegroundColor Yellow
Exec { MSBuild ./filter/busdog.sln /t:clean /ToolsVersion:3.5}
Exec { MSBuild ./filter/busdog.sln /p:Configuration="$conf_driver" /property:Platform="$platform" /ToolsVersion:3.5}

如果我从上面的MSBuild命令中删除“/ ToolsVersion”设置或将其设置为12.0,那么我的代码将被完美编译。

但是,如果/ ToolsVersion选项设置为3.5,我会不断收到以下错误: -

  

MSBUILD:错误MSB3411:无法加载Visual C ++组件   “VCBuild.exe”。如果未安装该组件,请1)安装   适用于Windows Server 2008和.NET Framework的Microsoft Windows SDK   3.5或2)安装Microsoft Visual Studio 2008. [C:\ workspace \ busdog \ filter \ busdog.sln]

我已经安装了.NET framework 3.5,4.0和4.5:C:\ Windows \ Microsoft.NET \ Framework \

有人可以帮我解决我可能出错的地方吗?

由于 玛纳斯

1 个答案:

答案 0 :(得分:0)

错误消息已告诉您:要安装适用于Windows Server 2008的Microsoft Windows SDK。