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

4

我无法在使用MonoDevelop构建项目时生成包含C#代码注释的XML文件。

我已经在项目设置的“编译器”选项卡中勾选了“生成xml文档”复选框,但是在我的项目输出或源文件夹中没有看到任何XML文件。

我正在使用Mono 10.2.1、MonoDevelop 2.4.2和MonoTouch 4。

2个回答

6
简短回答:MonoTouch的C#编译器尚不支持生成文档注释文件。
详细回答:MonoTouch使用smcs(Silverlight profile)编译器,因为它基于Silverlight框架配置文件。在Mono 2.10之前,Mono的C#编译器使用System.Reflection.Emit生成IL代码,这意味着它必须在目标框架版本上运行。不幸的是,Silverlight没有XmlDocument和其他用于处理XML文档注释的类,因此这些特性在smcs构建的编译器中被禁用了。在Mono 2.10中,C#编译器已经移植到IKVM.Reflection,它允许单个编译器(在“完整”框架上运行)针对任何框架配置文件或版本进行目标设置。但是,迁移尚未完成,旧版的smcs仍然存在。这将在将来的Mono版本中得到修复。

很高兴听到(也有点遗憾)。谢谢,迈克尔。 - johnluetke

1
我刚刚自己尝试了一下,在一个名为“MonoSandbox”的项目中,我最终在bin\Debug文件夹中获得了“MonoSandbox.xml”文件,与exe文件并列。
它是否已经成功构建?

是的,它成功地构建了。我能够很好地运行代码。更具体地说,我正在尝试构建一个MonoTouch项目。 - johnluetke
@johnl1479:啊,之前可能提一下会更好。我猜测这可能与MonoTouch有关,因为那可能是一个相当不同的构建步骤。 - Jon Skeet
我会把它归因于我在stackoverflow上的新手状态。 - johnluetke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接