将新项目添加到解决方案时抛出异常
Exception thrown when adding new project into solution
我正在尝试通过 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: Adding projects is not suported."
当我在尝试应用更改之前迭代更改的解决方案时,新项目出现在那里。将新文档添加到项目中没有任何问题。
有没有办法将新项目添加到解决方案中并保存更改的解决方案?
Roslyn 没有任何写入 .sln
个文件的代码。
(可以看他们的解法readerhere)
你不能那样做。
我正在尝试通过 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: Adding projects is not suported."
当我在尝试应用更改之前迭代更改的解决方案时,新项目出现在那里。将新文档添加到项目中没有任何问题。
有没有办法将新项目添加到解决方案中并保存更改的解决方案?
Roslyn 没有任何写入 .sln
个文件的代码。
(可以看他们的解法readerhere)
你不能那样做。