public BuildEnvironment(string processNameCommandLine, bool runningTests, bool runningInVisualStudio, string visualStudioPath) { RunningTests = runningTests; RunningInVisualStudio = runningInVisualStudio; CurrentMSBuildExePath = processNameCommandLine; CurrentMSBuildToolsDirectory = Path.GetDirectoryName(processNameCommandLine); CurrentMSBuildConfigurationFile = string.Concat(processNameCommandLine, ".config"); VisualStudioInstallRootDirectory = visualStudioPath; var isAmd64 = FileUtilities.EnsureNoTrailingSlash(CurrentMSBuildToolsDirectory) .EndsWith("amd64", StringComparison.OrdinalIgnoreCase); if (isAmd64) { MSBuildToolsDirectory32 = FileUtilities.GetFolderAbove(CurrentMSBuildToolsDirectory); MSBuildToolsDirectory64 = CurrentMSBuildToolsDirectory; } else { MSBuildToolsDirectory32 = CurrentMSBuildToolsDirectory; MSBuildToolsDirectory64 = Path.Combine(CurrentMSBuildToolsDirectory, "amd64"); } }
public BuildEnvironment(BuildEnvironmentMode mode, string currrentMSBuildExePath, bool runningTests, bool runningInVisualStudio, string visualStudioPath) { Mode = mode; RunningTests = runningTests; RunningInVisualStudio = runningInVisualStudio; CurrentMSBuildExePath = currrentMSBuildExePath; CurrentMSBuildToolsDirectory = Path.GetDirectoryName(currrentMSBuildExePath); CurrentMSBuildConfigurationFile = string.Concat(currrentMSBuildExePath, ".config"); VisualStudioInstallRootDirectory = visualStudioPath; if (mode == BuildEnvironmentMode.VisualStudio) { var isAmd64 = FileUtilities.EnsureNoTrailingSlash(CurrentMSBuildToolsDirectory) .EndsWith("amd64", StringComparison.OrdinalIgnoreCase); if (isAmd64) { MSBuildToolsDirectory32 = FileUtilities.GetFolderAbove(CurrentMSBuildToolsDirectory); MSBuildToolsDirectory64 = CurrentMSBuildToolsDirectory; } else { MSBuildToolsDirectory32 = CurrentMSBuildToolsDirectory; MSBuildToolsDirectory64 = Path.Combine(CurrentMSBuildToolsDirectory, "amd64"); } } else { MSBuildToolsDirectory32 = CurrentMSBuildToolsDirectory; MSBuildToolsDirectory64 = CurrentMSBuildToolsDirectory; } MSBuildExtensionsPath = mode == BuildEnvironmentMode.VisualStudio ? Path.Combine(VisualStudioInstallRootDirectory, "MSBuild") : CurrentMSBuildToolsDirectory; }