如何向 Xamarin iOS 绑定库添加 XML 文档注释?

How to add XML documentation comments to Xamarin iOS Bindings Library?

我正在实施 Xamarin iOS 绑定库来绑定 Objective-C 框架。 如果可能的话,我希望它包含 XML 文档注释。

有没有办法从 Objective-C Headers 中获取它们,或者至少以某种方式将它们手动添加到生成的绑定 类 中?

我尝试向 ApiDefinitions.cs 中描述的接口添加 XML 注释,但是 obj/Debug/ios/Namespace/*.g.cs 中生成的 类 仍然没有记录,XML 文档文件也仍然是空的。

您可以使用 mdoc 生成绑定的 XML 文档。您可以在此处找到示例 https://github.com/mono/monotouch-bindings/blob/master/Rules.make#L7

This manual 对生成文档很有用。接下来的步骤已完成:

  1. 将 mdoc 工具文件夹添加到我从 here 获取的解决方案中。
  2. 向绑定项目添加一个空的 Mdoc 文件夹。它将包含生成的 mdoc 文档文件。
  3. 将以下行添加到 Bindings 项目的 post-build 事件中:
$(SolutionDir)tools\mdoc\mdoc update -L "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Xamarin.iOS\v1.0" --out $(ProjectDir)Mdoc $(TargetPath)
$(SolutionDir)tools\mdoc\mdoc export-msxdoc $(ProjectDir)Mdoc

第一行在Mdoc文件夹中生成或更新了一堆XML文件。这些文件可以包含到项目中(使用构建操作 None)并手动填充您的文档或使用 Monodoc browser. Next time the project is rebuilt, the files will be updated without removing the already written documentation. Check the mdoc-update 获取详细信息。

第二行将 Monodoc XML 文件转换为 Microsoft XML 文档文件,可以与输出 DLL 文件一起提供。查看 mdoc-export-msxdoc 了解详情。