2

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

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?
            }
        }
    }
}

提前致谢,

鲍勃

4

1 回答 1

3

调用的行为ApplyChanges应该将更改写入磁盘。但是,请注意,在 CTP1 中,实际上只有一小部分可以应用于解决方案的更改得到实施。

于 2012-06-04T21:27:18.847 回答