这应该添加一个文档。
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”也没有作用吗?
此方法表示支持此操作。我很迷惑。
Roslyn的整个工作区和语法API都是不可变的。
p.AddDocument
创建一个新的Project
和Solution
(将在返回的Project
属性中返回Document
),而您将忽略它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句