示例#1
0
        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");
            }
        }
示例#2
0
        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;
        }