public void RequestAssemble()
        {
            if (_isAssembling)
            {
                _restartAssembling = true;
                return;
            }

            _isAssembling = true;
            Task.Factory.StartNew(() =>
            {
                if (_projectService.Project == null || _projectService.Project.IsInternal)
                {
                    return;
                }
                _assemblerService.AssemblerProjectFinished += AssemblerFinished;
                _assemblerService.AssembleProject(_projectService.Project);

                _isAssembling = false;

                if (!_restartAssembling)
                {
                    return;
                }

                _restartAssembling = false;
                RequestAssemble();
            });
        }
Exemplo n.º 2
0
        protected override void Execute()
        {
            if (_debuggerService.CurrentDebugger != null)
            {
                if (MessageBox.Show("Do you want to stop debugging?", "Debugging", MessageBoxButtons.YesNo) == DialogResult.No)
                {
                    return;
                }

                _debuggerService.EndDebugging();
            }

            _statusBarService.SetText(string.Format(CultureInfo.CurrentCulture, "Building {0}", _projectService.Project.ProjectName));
            _assemblerService.AssemblerProjectFinished += AssemblerService_AssemblerProjectFinished;
            Task.Factory.StartNew(() => _assemblerService.AssembleProject(_projectService.Project));
        }