diff --git a/build.psm1 b/build.psm1 index dc356337c5..b0d0692d32 100644 --- a/build.psm1 +++ b/build.psm1 @@ -262,7 +262,11 @@ function Start-PSBuild { @("nativemsh/pwrshplugin") | % { $nativeResourcesFolder = $_ Get-ChildItem $nativeResourcesFolder -Filter "*.mc" | % { - Start-NativeExecution { & $mcexe -o -d -c -U $_.FullName -h "$nativeResourcesFolder" -r "$nativeResourcesFolder" } + $command = @" +cmd.exe /C cd /d "(Get-Location)" "&" "$($vcVarsPath)\vcvarsall.bat" "$NativeHostArch" "&" "$mcexe" -o -d -c -U $($_.FullName) -h "$nativeResourcesFolder" -r "$nativeResourcesFolder" +"@ + log " Executing mc.exe Command: $command" + Start-NativeExecution { Invoke-Expression -Command:$command } } } diff --git a/src/powershell-native/nativemsh/pwrshcommon/ConfigFileReader.cpp b/src/powershell-native/nativemsh/pwrshcommon/ConfigFileReader.cpp index f1a13c00fc..b3b65874f3 100644 --- a/src/powershell-native/nativemsh/pwrshcommon/ConfigFileReader.cpp +++ b/src/powershell-native/nativemsh/pwrshcommon/ConfigFileReader.cpp @@ -33,8 +33,6 @@ namespace NativeMsh std::wstring coreClrDirTag(L"CORECLRDIR="); while (std::getline(psConfigFile, line)) { - ; - // Search for the first actionable character in the line to // limit the number of passes that are made iterating through the line. for(std::wstring::const_iterator iter = line.begin(); iter != line.end(); iter++) @@ -42,7 +40,7 @@ namespace NativeMsh if (*iter == L'#') { // Stop parsing the line because the rest of it is a comment - continue; + break; } else if (*iter == L'p' || *iter == L'P') { @@ -57,6 +55,7 @@ namespace NativeMsh this->pathToPowerShellAssemblies.append(L"\\"); } } + break; } else if (*iter == L'c' || *iter == L'C') { @@ -71,6 +70,7 @@ namespace NativeMsh this->coreClrDirectory.append(L"\\"); } } + break; } // Else: Do nothing to ignore unmatched characters (whitespace, etc.) }