我们有一个 .net 程序集,它也需要被 .net 敌对但 COM 友好的语言/开发环境使用。.net 程序集使用标准 xml 注释功能嵌入了方法/属性/类帮助。所需要的是一种将这种帮助从.net API 传播到程序集的COM Callbable Wrapper 的用户的方法,......在更新.net API 时无需任何额外的维护。
这似乎是一件显而易见的事情,但不幸的是,MS CCW 生成不会生成帮助文件或识别任何程序集属性来指定帮助文件链接。显然,像 Sand Castle 这样的工具可以从它的智能注释生成一个程序集的帮助文件,但问题仍然是如何将 CCW 链接回该帮助文件。
我认为通过以下方式在逻辑上可能是可行的:
1) 从程序集中生成类型库
2)将类型库转换为IDL(如何?OLEView 似乎可以做到)
3)在IDL文件中添加helpfile、helpcontext和helpstring属性:
a) how to extract the help context IDs from the Sand Castle generated help file?
b) how to decide where these IDs belong in the IDL?
4) 从 IDL 重新编译 TLB
5)使用引用帮助的TLB重新生成CCW
不幸的是,从头开始处理该过程(尤其是 a. 和 b.)将比我们节省的工作量更多,而不是创建和维护围绕 CCW 手动创建的环境特定包装器,其中包括 .net 帮助的手动副本。
有没有人有任何想法或知道已经解决此问题的任何工具?