C# 如何以编程方式将文档从.xml文件导入.cs文件?
我在.xml文件中保存了如下文档:C# 如何以编程方式将文档从.xml文件导入.cs文件?,c#,visual-studio,documentation,C#,Visual Studio,Documentation,我在.xml文件中保存了如下文档: 班级图书馆2 第1类虚拟文档 Func1虚拟文档 我不想将文档导入到.cs文件中,该文件如下所示: 命名空间类库2 { 公共班级1 { void Func1() { } } } 因此,在导入后,我的文件将如下所示: 命名空间类库2 { /// ///第1类虚拟文档 /// 公共班级1 { /// ///Func1虚拟文档 /// void Func1() { } } } 如何以编程方式执行此操作 我应该使用CodeDOM还是Visual Stu
班级图书馆2
第1类虚拟文档
Func1虚拟文档
我不想将文档导入到.cs文件中,该文件如下所示:
命名空间类库2
{
公共班级1
{
void Func1()
{
}
}
}
因此,在导入后,我的文件将如下所示:
命名空间类库2
{
///
///第1类虚拟文档
///
公共班级1
{
///
///Func1虚拟文档
///
void Func1()
{
}
}
}
如何以编程方式执行此操作
我应该使用CodeDOM
还是Visual Studio?还是Roslyn或其他工具
任何帮助都将不胜感激
提前感谢。使用CodeDom,Roslyn是编译器平台,不会帮助您解决问题
var syntaxTree= CSharpSyntaxTree.ParseText(code);
//search for the methods and properties and add comments
// ** your code **
//
//getting the new sourcecode
var root = (CompilationUnitSyntax)syntaxTree.GetRoot();
var mc= new ModelCollector();
mc.Visit(root);
string newCode = JsonConvert.SerializeObject(mc.models);
以下是创建新注释的方法:
库的完整文档:
有趣。。。在过去,它是从.cs文件中剥离出来的吗?我只看到了从.cs文件本身生成的XML。这个问题可能会导致@BrootsWaymb。事实上,文档是从.cs文件中获取的,但它被意外删除,并保留在XML文件中,现在需要返回。这是一个非常大的文档量。通常xml文档是从.cs文件创建的。你有dll还是只有xml文件?如果你有dll,你可以使用一个去编译器来获取代码。例如,我很惊讶这个问题没有被问过一百次。另一个例子:用例:一家公司拥有私有软件,将评论导出为XML,通过SandCastle发布文档。无法访问源代码的用户希望帮助修复文档。为了避免复制/粘贴到代码源中的两步过程,最好从XML重新生成行内代码注释。这个问题的答案是不完整的。找到/创建一个实际的解决方案会很好。您的解决方案是否也适用于包含数百个CS文件的项目?CodeDom能够读取属于同一个项目的多个不同文件吗?应该不会有问题。没有将CodeDOM用于此类问题,只是用于创建自动生成的代码。对于类或文件的数量没有问题。只需加载xml文档文件,然后将关联的cs文件加载到codedom图中,添加注释并保存新的注释(以便更好地测试到新目录:D)。然后在下一个xml文档中执行此操作。您能否提供一个示例,说明如何将大量.cs文件加载到Codedom graph,非常感谢。请使用Microsoft.CodeAnalysis.CSharp检查我的编辑,我认为添加注释和获取新的代码文件会更容易