コード例 #1
0
ファイル: Transformer.cs プロジェクト: runefs/Interact
        public static ISolution GetSolution(string _solutionPath)
        {
            if (!File.Exists(_solutionPath))
            {
                throw new InvalidOperationException("File not found (" + _solutionPath + ")");
            }

            IWorkspace workspace = null;

            switch (Path.GetExtension(_solutionPath).ToUpper())
            {
            case ".SLN":
                workspace = Workspace.LoadSolution(_solutionPath);
                break;

            case ".CSPROJ":
                workspace = Workspace.LoadStandAloneProject(_solutionPath);
                break;

            case ".CS":
                var solutionId = SolutionId.CreateNewId();
                workspace = Workspace.GetWorkspace(solutionId);
                var projectId  = ProjectId.CreateNewId(solutionId);
                var documentId = DocumentId.CreateNewId(projectId, Path.GetFileNameWithoutExtension(_solutionPath));
                workspace.AddExistingDocument(documentId, _solutionPath);
                break;

            default:
                throw new InvalidOperationException("file type not supported");
            }

            var solution = workspace.CurrentSolution;

            return(solution);
        }