Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将.cs文件转换为带书签的Html文档?_C#_Html_Syntax Highlighting_Mono.cecil - Fatal编程技术网

C# 如何将.cs文件转换为带书签的Html文档?

C# 如何将.cs文件转换为带书签的Html文档?,c#,html,syntax-highlighting,mono.cecil,C#,Html,Syntax Highlighting,Mono.cecil,我需要在网站上公开一个C#项目的内部细节。 为了做到这一点,我需要获取一个.cs文件,将其转换为html,并突出显示一些(可能是基本的)语法,理想情况下,在生成的html中定位,识别方法、字段、属性等。 我正在评估自定义解析器路由,但这将是一个非常困难的实现,尤其是对于子项目,所以我想知道:您会怎么做 我有.cs源文件,dll+pdb+xml输出文件,并且我已经在使用Mono-Cecil检查dll,因此可能有一种方法可以将输出程序集中的方法链接到源文件中的代码行。我找不到关于Cecil.pdb的

我需要在网站上公开一个C#项目的内部细节。 为了做到这一点,我需要获取一个.cs文件,将其转换为html,并突出显示一些(可能是基本的)语法,理想情况下,在生成的html中定位,识别方法、字段、属性等。 我正在评估自定义解析器路由,但这将是一个非常困难的实现,尤其是对于子项目,所以我想知道:您会怎么做

我有.cs源文件,dll+pdb+xml输出文件,并且我已经在使用Mono-Cecil检查dll,因此可能有一种方法可以将输出程序集中的方法链接到源文件中的代码行。我找不到关于Cecil.pdb的信息,可能里面有些东西

最后,语法highlighter的实现可以在C#(转换为html期间)或JavaScript(运行时)中完成,但最好是在C#中完成,输出静态html文件,包括不可见的标记


谢谢

听起来很复杂。我会问你为什么需要它。您可以使用VisualStudio在线,并使用TFS或Git存储库将这些文件上载到Team Foundation服务器,然后在那里显示高亮的.cs文件。但是,它可能不是您想要的。或者,如果它是为了文档目的,您可以使用一些文档生成器,如sandcastle或doxygen,请看这里:它是为了文档目的。我正在创建一个工具来替换SandCastle,一个很好的特性,特别是对于开源项目,是每个方法的文档中的“源代码链接”。这就是我想要它的原因。我明白了,重新发明轮子明智吗?无论如何,我可能会检查sandcastle的代码,看看他们是如何做到的。我想到的另一件事是,当你使用反射遍历代码时,你会用css类标记输出html,然后简单地根据你的喜好设计css,但我认为没有这样的工具。在SandCastle中,它们没有:其中没有“到源代码的链接”。通过谷歌搜索,我得出结论:Mono.Cecil.Pdb和highlight.js的组合可能会满足需求。我要试试那条路线。