将新项目添加到解决方案时抛出异常

时间:2015-09-16 18:10:43

标签: c# roslyn

我正在尝试通过Roslyn以编程方式将新项目添加到解决方案中。

        var msWorkspace = MSBuildWorkspace.Create();

        var solution = msWorkspace.OpenSolutionAsync(Constants.pathToSolution).Result;

        var projectId = ProjectId.CreateNewId();
        var versionStamp = VersionStamp.Create();

        var info = ProjectInfo.Create(
                        id: projectId,
                        version: versionStamp,
                        name: "Redux",
                        assemblyName: "Redux.dll",
                        language: LanguageNames.CSharp);

        var newSolution = solution.AddProject(info);

        msWorkspace.TryApplyChanges(newSolution);

在此之后,抛出异常:

“System.NotSupportedExcpetion:不支持添加项目。”

当我在尝试应用更改之前迭代更改的解决方案时,新项目就会出现在那里。将新文档添加到项目中没有任何问题。

有没有办法将新项目添加到解决方案中并保存更改的解决方案?

1 个答案:

答案 0 :(得分:0)

Roslyn没有任何代码可以写.sln个文件 (你可以看到他们的解决方案阅读器here

你不能这样做。