gpt4 book ai didi

c# - Roslyn AddDocument 到项目并将此更改保存到实际解决方案文件

转载 作者:太空狗 更新时间:2023-10-29 21:01:30 24 4
gpt4 key购买 nike

这应该添加一个文档。

    public static void AddDoc()
{
var msBuild = MSBuildWorkspace.Create();

var sln = msBuild.OpenSolutionAsync
(@"D:\PanNiebieski\Documents\Visual Studio 14\Projects\WebApplication1"
+ @"\WebApplication1.sln").Result;

foreach (var p in sln.Projects)
{
p.AddDocument(Guid.NewGuid().ToString() + ".txt", "test");

var ok = msBuild.TryApplyChanges(sln);

Console.WriteLine(p.Name + ":" + ok);
}

Console.ReadKey();
}

方法“TryApplyChanges”返回 true,这意味着文档已添加。然后,当我再次检查解决方案时,不存在类似的东西。我在添加对项目的引用时遇到了同样的问题。

问题是如何保存更改,例如将文档添加到实际项目中。我想念什么吗? StackOverflow 中的许多关于添加对项目的引用的问题都说这根本行不通。方法“AddDocument”也什么都不做吗?

此方法表示支持此操作。我很困惑。

enter image description here

最佳答案

Roslyn 的整个工作区和语法 API 都是不可变的。

p.AddDocument 创建一个新的 ProjectSolution(在 Project 属性中返回返回 Document),您忽略了它。

关于c# - Roslyn AddDocument 到项目并将此更改保存到实际解决方案文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27998424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com