Roslyn CTP - 如何将更改写入文件系统

本文关键字:文件系统 CTP Roslyn | 更新日期: 2023-09-27 18:36:12

我创建了一个名为Solution的空Visual Studio Solution.sln并将其加载到工作区的第一行中。 然后,我将一个项目添加到解决方案中,并将工作区更新为现在应包含项目的最新解决方案。 如何写出添加到空解决方案中的新内容的文件?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Roslyn.Compilers;
using Roslyn.Compilers.CSharp;
using Roslyn.Services;
namespace RoslynMainApp 
{
    class Program 
    {
        static void Main(string[] args) 
        {
            IWorkspace workspace = Workspace.LoadSolution(@"C:'RoslynSolutions'Solution.sln");
            ProjectId projectId;
            ISolution solution = Solution.Create(SolutionId.CreateNewId("Solution"));
            solution.AddCSharpProject("Project1.dll", "Project1", out projectId);
            var success = workspace.ApplyChanges(workspace.CurrentSolution, solution); 
            if(success)
            {
                //How do I write out all the stuff I just added to Solution.sln to the directory RoslynSolutions?
            }
        }
    }
}

提前感谢,

鲍勃

Roslyn CTP - 如何将更改写入文件系统

调用ApplyChanges的操作应将更改写入磁盘。 但是,请注意,在 CTP1 中,实际上只实现了一小部分可以应用于解决方案的更改。