如何在MonoDevelop中为MonoTouch项目生成XML注释?

本文关键字:XML 注释 项目 MonoTouch MonoDevelop 中为 | 更新日期: 2023-09-27 17:50:15

当我用MonoDevelop构建一个项目时,我似乎无法得到一个包含c#代码中注释的XML文件。

我已经在项目设置的"编译器"选项卡上检查了Generate xml documentation框,但在我的项目输出或源文件夹中没有看到XML文件。

我使用Mono 10.2.1, MonoDevelop 2.4.2和MonoTouch 4

如何在MonoDevelop中为MonoTouch项目生成XML注释?

简短的回答:MonoTouch的c#编译器还不支持生成文档注释文件。

长回答:MonoTouch使用smcs (Silverlight配置文件)编译器,因为它基于Silverlight框架配置文件。在Mono 2.10之前,Mono的c#编译器使用System.Reflection.Emit来生成IL,这意味着它必须运行在它所瞄准的框架版本上。不幸的是,Silverlight没有XmlDocument和其他编译器用来处理XML文档注释的类,所以这些特性在编译器的smcs构建中被禁用了。在Mono 2.10中,c#编译器已经移植到IKVM。反射,它允许单个编译器(在"完整"框架上运行)针对任何框架配置文件或版本。但是,迁移还没有完成,旧版本的smcs目前仍然存在。

我刚刚自己尝试过,对于一个名为"MonoSandbox"的项目,我最终在bin'Debug文件夹中找到了"MonoSandbox.xml",旁边是exe文件。

它肯定是成功的吗?