C# 如何使用Roslyn'将解决方案与项目和文档保持一致;多动症?

C# 如何使用Roslyn'将解决方案与项目和文档保持一致;多动症?,c#,.net,visual-studio,roslyn,roslyn-code-analysis,C#,.net,Visual Studio,Roslyn,Roslyn Code Analysis,我一直在尝试使用下面的代码持久化一个新的解决方案,其中包含一个项目和一个简单的cs文件,但没有任何内容保存到磁盘上。我是否做错了什么,或者Roslyn不是用于生成解决方案项目和文件的工具 class Program { static void Main(string[] args) { var workspace = new AdhocWorkspace(); var solutionInfo = SolutionInfo.Create(Solu

我一直在尝试使用下面的代码持久化一个新的解决方案,其中包含一个项目和一个简单的cs文件,但没有任何内容保存到磁盘上。我是否做错了什么,或者Roslyn不是用于生成解决方案项目和文件的工具

class Program
{
    static void Main(string[] args)
    {
        var workspace = new AdhocWorkspace();

        var solutionInfo = SolutionInfo.Create(SolutionId.CreateNewId(),
                                               VersionStamp.Create(),
                                               @"C:\Seb\SebSol.sln");

        var projectInfo = ProjectInfo.Create(ProjectId.CreateNewId(),
                                             VersionStamp.Create(),
                                             "SebProj",
                                             "SebProj.dll",
                                             LanguageNames.CSharp,
                                             @"C:\Seb\SebSol\SebProj\SebProj.csproj");

        workspace.AddSolution(solutionInfo);
        workspace.AddProject(projectInfo);

        var sourceText = SourceText.From("public class A { }");
        workspace.CurrentSolution.AddDocument(DocumentId.CreateNewId(projectInfo.Id), "ClassA.cs", sourceText);

        workspace.TryApplyChanges(workspace.CurrentSolution);
    }
}

您正在查找
MsBuildWorkspace
,它实际上可以在磁盘上以MSBuild格式更新
sln
csproj
文件

除了这个类之外,Roslyn API对项目格式(如MSBuild)是完全不可知的