C# 如何使用Roslyn'将解决方案与项目和文档保持一致;多动症?
我一直在尝试使用下面的代码持久化一个新的解决方案,其中包含一个项目和一个简单的cs文件,但没有任何内容保存到磁盘上。我是否做错了什么,或者Roslyn不是用于生成解决方案项目和文件的工具C# 如何使用Roslyn'将解决方案与项目和文档保持一致;多动症?,c#,.net,visual-studio,roslyn,roslyn-code-analysis,C#,.net,Visual Studio,Roslyn,Roslyn Code Analysis,我一直在尝试使用下面的代码持久化一个新的解决方案,其中包含一个项目和一个简单的cs文件,但没有任何内容保存到磁盘上。我是否做错了什么,或者Roslyn不是用于生成解决方案项目和文件的工具 class Program { static void Main(string[] args) { var workspace = new AdhocWorkspace(); var solutionInfo = SolutionInfo.Create(Solu
class Program
{
static void Main(string[] args)
{
var workspace = new AdhocWorkspace();
var solutionInfo = SolutionInfo.Create(SolutionId.CreateNewId(),
VersionStamp.Create(),
@"C:\Seb\SebSol.sln");
var projectInfo = ProjectInfo.Create(ProjectId.CreateNewId(),
VersionStamp.Create(),
"SebProj",
"SebProj.dll",
LanguageNames.CSharp,
@"C:\Seb\SebSol\SebProj\SebProj.csproj");
workspace.AddSolution(solutionInfo);
workspace.AddProject(projectInfo);
var sourceText = SourceText.From("public class A { }");
workspace.CurrentSolution.AddDocument(DocumentId.CreateNewId(projectInfo.Id), "ClassA.cs", sourceText);
workspace.TryApplyChanges(workspace.CurrentSolution);
}
}
您正在查找
MsBuildWorkspace
,它实际上可以在磁盘上以MSBuild格式更新sln
和csproj
文件
除了这个类之外,Roslyn API对项目格式(如MSBuild)是完全不可知的