我正在调查在 Visual Studio 扩展 (VSIX) 中使用 Roslyn 编译器VisualStudioWorkspace
来更新现有代码。
想象一下,我当前的解决方案有 12 个项目。对于每个我想要的项目:
- 添加新的代码文件
- 更新现有代码文件
我了解这些对象的不变性,并且作为概念验证,我编写了一个示例,对第一个项目进行更改,然后对第二个项目进行更改,依此类推。
然后我想知道是否可以使用异步任务对每个项目进行更改,并在所有任务完成后(所有项目都已更新)更新解决方案。
为此,我改变了我的概念验证,我现在有 12 个更新的项目。我不清楚的是如何将所有更改合并回我当前的解决方案,以便我可以myWorkspace.TryApplyChanges(sln)
一步调用。