예제 #1
0
        public Solution OpenSolution(IProgressMonitor monitor, string filePath)
        {
            Solution wrapperSolution = Services.ProjectsService.GetWrapperSolution(monitor, filePath);

            if (!ProjectsOperations.CheckProjectVersion(wrapperSolution.Version))
            {
                MessageBox.Show(LanguageInfo.MessageBox_Content71, (Window)null, (string)null, MessageBoxImage.Info);
                return((Solution)null);
            }
            wrapperSolution.Version = Option.EditorVersion;
            wrapperSolution.Save(monitor);
            ProjectsService.Instance.CurrentSolution = wrapperSolution;
            wrapperSolution.Initialize(monitor);
            this.CurrentSelectedWorkspaceItem = (WorkspaceItem)wrapperSolution;
            using (TaskServiceLock.Lock())
                this.OnCurrentSolutionChanged();
            Services.RecentFileService.AddFile((string)this.CurrentSelectedSolution.FileName);
            return(wrapperSolution);
        }
예제 #2
0
        public void Publish(IProgressMonitor monitor, PublishInfo info)
        {
            HashSet <ResourceData> usedResources = Services.ProjectOperations.CurrentResourceGroup.GetUsedResources(monitor);

            if (!monitor.AsyncOperation.Success)
            {
                return;
            }
            foreach (ResourceData resourceData in usedResources)
            {
                if (Services.ProjectsService.IsProjectFile(resourceData))
                {
                    Project resourceItem = Services.ProjectOperations.CurrentResourceGroup.FindResourceItem(resourceData) as Project;
                    if (resourceItem != null)
                    {
                        resourceItem.Publish(monitor, info);
                    }
                }
                else
                {
                    ProjectsOperations.CopyResourceData(monitor, (FilePath)info.PublishDirectory, resourceData);
                }
            }
        }