C# 学习单声道源代码
我有兴趣为mono贡献一些东西,无论是文档还是其他什么。作为第一步,我下载了源代码树以浏览代码。然而,我想如果有人花足够的时间来理解项目结构,这将有助于这里的每个人。有人告诉我项目结构在哪里解释得很好吗 注意:这不是问题的重复,这个问题的答案不足以满足我的期望。您应该有(subversion签出URL):C# 学习单声道源代码,c#,mono,open-source,C#,Mono,Open Source,我有兴趣为mono贡献一些东西,无论是文档还是其他什么。作为第一步,我下载了源代码树以浏览代码。然而,我想如果有人花足够的时间来理解项目结构,这将有助于这里的每个人。有人告诉我项目结构在哪里解释得很好吗 注意:这不是问题的重复,这个问题的答案不足以满足我的期望。您应该有(subversion签出URL): 主干/libgdiplus 这是System.Drawing使用的库 主干/单声道 这就是我们所说的Mono运行时。主要包含C源代码。在此目录下,您可以找到: 数据/:不同版本(1.x、2
- 主干/libgdiplus 这是System.Drawing使用的库
- 主干/单声道
这就是我们所说的Mono运行时。主要包含C源代码。在此目录下,您可以找到:
- 数据/:不同版本(1.x、2.x等)的一些配置文件
- msvc*/:用于构建Mono运行时的Visual Studio解决方案文件
- libgc/:Boehm垃圾收集器源
- mono/:mono运行时源。
- mini/:JIT源代码
- 元数据/:这些几乎是Mono运行时使用的所有功能(封送、线程池、套接字I/O、文件I/O、控制台I/O、应用程序域、GC、性能计数器等)。这或多或少是一个C文件
- util:杂项功能
- io层/:Win32 I/O仿真函数
- 主干/mcs
这就是C#编译器、类库、类库测试和其他工具的所在
- class/:每个程序集一个文件夹。它们中的每一个都包含每个程序集拆分的源代码,这些程序集拆分在具有名称空间名称的目录中(例如,System/System.Configuration等等),通常还包含一个测试目录。唯一的命名例外是mscorlib,其对应的文件夹名为corlib 例如,如果要查看System.dll程序集中System.Net.HttpWebRequest的源代码,请转到trunk/mcs/class/System/System.Net,其中应该有一个名为HttpWebRequest.cs的文件,其中包含您要查找的代码
- mcs/:C#编译器(mcs、GMC、SMC、DMC…)的源代码
- 工具/:这些是一组用于开发(sn、wsdl等)、文档(monodoc)等的工具。大多数工具名称与MS名称匹配
更新:Mono现在驻留在中,mcs已集成到Mono存储库中。Gonzalo提供了不同模块的良好概述 由于您还提到希望对文档做出贡献,因此您还需要更多的信息 首先,文档存储在mcs/class/[assembly]/Documentation/中的XML文件中,例如。其目的是支持多种人类语言(尽管目前只研究英语),因此文档中有一个语言目录,通常是
en
。在en
中有ns-*.xml
文件,例如包含系统
命名空间的文档。在en
中还有“点名称空间”目录,这些目录中有XML文件,例如,每种类型一个
文档中的文件/目录结构
一节也概述了这一点
找到文档后,您需要了解XML格式,文档中的NamespaceName/TypeName.XML文件格式
部分也对该格式进行了描述。使用的XML方言是的一个变体,更改为每种类型有一个文件(而不是一个单一文件中的所有类型)。这也是的超集(见附录E.文件注释,第487页)
最后,还有向mcs/class/[assembly]/Documentation目录添加新类型/成员的问题。如果您有Mono-build,那么可以使用docupdate
Makefile目标。这将运行相应的程序集,并更新文档目录中的相应文件
如果您有任何其他文档问题,请随时在邮件列表中询问。非常感谢您描述目录结构,您是否知道是否有网站描述此结构?有