Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
I took Peter avise and for a while I've been using Chris's vsvars32, however it had some drawbacks,
1. It did not work from a 64bit PowerShell
2. For some reason Get-Batchfile did not work for me, I had to modify to call "echo" explicitly.
I also added a helper VsInstallDir and a alias for devenv.
Enjoy,
Oscar
function global:VsInstallDir($version="10.0")
{
$VSKey = $null
if (test-path HKLM:SOFTWARE\Wow6432Node\Microsoft\VisualStudio\$version)
{
$VSKey = get-itemproperty HKLM:SOFTWARE\Wow6432Node\Microsoft\VisualStudio\$version
}
else
{
if (test-path HKLM:SOFTWARE\Microsoft\VisualStudio\$version)
{
$VSKey = get-itemproperty HKLM:SOFTWARE\Microsoft\VisualStudio\$version
}
}
if ($VSKey -eq $null)
{
throw "Visual Studio not installed"
}
[System.IO.Path]::GetDirectoryName($VsKey.InstallDir)
}
function Get-Batchfile ($file) {
$cmd = "echo off & `"$file`" & set"
cmd /c $cmd | Foreach-Object {
$p, $v = $_.split('=')
Set-Item -path env:$p -value $v
}
}
function global:VsVars32($version="10.0")
{
$VsInstallPath = VsInstallDir($version)
$VsToolsDir = [System.IO.Path]::GetDirectoryName($VsInstallPath)
$VsToolsDir = [System.IO.Path]::Combine($VsToolsDir, "Tools")
$BatchFile = [System.IO.Path]::Combine($VsToolsDir, "vsvars32.bat")
Get-Batchfile $BatchFile
[System.Console]::Title = "Visual Studio shell"
}
set-alias devenv ((VsInstallDir)+"\devenv.exe") -scope global