Esempio n. 1
0
        public void StartBatchBuild(IDictionary <string, string> globalProperties = null)
        {
            if (_batchBuildStarted)
            {
                throw new InvalidOperationException();
            }

            globalProperties = globalProperties ?? ImmutableDictionary <string, string> .Empty;
            var allProperties = s_defaultGlobalProperties.AddRange(globalProperties);

            _batchBuildProjectCollection = new MSB.Evaluation.ProjectCollection(allProperties);

            _batchBuildLogger = new MSBuildDiagnosticLogger()
            {
                Verbosity = MSB.Framework.LoggerVerbosity.Normal
            };

            var buildParameters = new MSB.Execution.BuildParameters(_batchBuildProjectCollection)
            {
                Loggers = new MSB.Framework.ILogger[] { _batchBuildLogger }
            };

            MSB.Execution.BuildManager.DefaultBuildManager.BeginBuild(buildParameters);

            _batchBuildStarted = true;
        }
Esempio n. 2
0
        public void Stop()
        {
            if (!_started)
            {
                throw new InvalidOperationException();
            }

            MSB.Execution.BuildManager.DefaultBuildManager.EndBuild();

            // unload project so collection will release global strings
            _projectCollection.UnloadAllProjects();
            _projectCollection = null;
            _logger            = null;
            _started           = false;
        }
Esempio n. 3
0
        public void Start()
        {
            if (_started)
            {
                throw new InvalidOperationException();
            }

            _projectCollection = new MSB.Evaluation.ProjectCollection(s_defaultGlobalProperties);

            _logger = new MSBuildDiagnosticLogger()
            {
                Verbosity = MSB.Framework.LoggerVerbosity.Normal
            };

            var buildParameters = new MSB.Execution.BuildParameters(_projectCollection)
            {
                Loggers = new MSB.Framework.ILogger[] { _logger }
            };

            MSB.Execution.BuildManager.DefaultBuildManager.BeginBuild(buildParameters);

            _started = true;
        }