31 lines
1.0 KiB
PowerShell
31 lines
1.0 KiB
PowerShell
|
|
# finds msbuild
|
||
|
|
function Get-VisualStudio($vswhere)
|
||
|
|
{
|
||
|
|
$vsPath = ""
|
||
|
|
$vsVer = ""
|
||
|
|
&$vswhere | foreach {
|
||
|
|
if ($_.StartsWith("installationPath:")) { $vsPath = $_.SubString("installationPath:".Length).Trim() }
|
||
|
|
if ($_.StartsWith("installationVersion:")) { $vsVer = $_.SubString("installationVersion:".Length).Trim() }
|
||
|
|
}
|
||
|
|
if ($vsPath -eq "") { return $null }
|
||
|
|
|
||
|
|
$vsVerParts = $vsVer.Split('.')
|
||
|
|
$vsMajor = [int]::Parse($vsVerParts[0])
|
||
|
|
$vsMinor = [int]::Parse($vsVerParts[1])
|
||
|
|
if ($vsMajor -eq 15) {
|
||
|
|
$msBuild = "$vsPath\MSBuild\$vsMajor.$vsMinor\Bin"
|
||
|
|
}
|
||
|
|
elseif ($vsMajor -eq 14) {
|
||
|
|
$msBuild = "c:\Program Files (x86)\MSBuild\$vsMajor\Bin"
|
||
|
|
}
|
||
|
|
else { return $null }
|
||
|
|
$msBuild = "$msBuild\MsBuild.exe"
|
||
|
|
|
||
|
|
$vs = new-object -typeName PsObject
|
||
|
|
$vs | add-member -memberType NoteProperty -name Path -value $vsPath
|
||
|
|
$vs | add-member -memberType NoteProperty -name Major -value $vsMajor
|
||
|
|
$vs | add-member -memberType NoteProperty -name Minor -value $vsMinor
|
||
|
|
$vs | add-member -memberType NoteProperty -name MsBuild -value $msBuild
|
||
|
|
return $vs
|
||
|
|
}
|