通过Roslyn更改文件夹列表后,文件的位置保持不变

时间:2015-09-17 12:27:17

标签: c# roslyn

我正在尝试通过Roslyn更改现有文件的文件位置。

var msWorkspace = MSBuildWorkspace.Create();

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

DocumentId documentIdToMove = ConsoleHelpers.GetDocumentIdForDocumentWithName(solution, "Person.cs");

var newSolution = solution.WithDocumentFolders(documentIdToMove, new List<string> { "SecondLevel", "ThirdLevel" });

msWorkspace.TryApplyChanges(newSolution);

最初,该文件位于主项目文件夹内的“SecondLevel”文件夹中。 根据文档,WithDocumentFolders方法应创建一个新的解决方案实例,其中指定的文档已更新为包含在其中 逻辑文件夹的顺序。

运行代码后,程序完成,没有任何异常,文件在磁盘上更改,但位置保持不变。此外,TryApplyChanges方法返回true。 在项目中创建新文档然后将更改保存到磁盘时,将在文件夹序列指定的位置创建新文件,而不会出现任何问题。

是否更改项目中现有文件的位置,然后将更改保存到磁盘?

1 个答案:

答案 0 :(得分:1)

不支持更改此类文件夹。随意file a bug on GitHub