C# 如何向.net Com可调用包装器添加帮助?
我们有一个.net程序集,它也需要被一个.net敌对但对COM友好的语言/开发环境使用。net程序集中嵌入了带有标准xml注释功能的方法/属性/类帮助。所需要的是一种将此帮助从.net API传播给程序集的COM Callbable包装的用户的方法。。。更新.net API时无需任何额外维护 这似乎是一件显而易见的事情,但不幸的是,MS CCW生成不会生成帮助文件或识别任何程序集属性来指定帮助文件链接。很显然,像Sand Castle这样的工具可以从程序集的intellisense注释生成程序集的帮助文件,但问题仍然是如何将CCW链接回该帮助文件 我认为这在逻辑上是可能的,比如: 1) 从程序集生成类型库 2) 将类型库转换为IDL(OLEView似乎是如何实现的) 3) 将helpfile、helpcontext和helpstring属性添加到IDL文件:C# 如何向.net Com可调用包装器添加帮助?,c#,intellisense,chm,ccw,C#,Intellisense,Chm,Ccw,我们有一个.net程序集,它也需要被一个.net敌对但对COM友好的语言/开发环境使用。net程序集中嵌入了带有标准xml注释功能的方法/属性/类帮助。所需要的是一种将此帮助从.net API传播给程序集的COM Callbable包装的用户的方法。。。更新.net API时无需任何额外维护 这似乎是一件显而易见的事情,但不幸的是,MS CCW生成不会生成帮助文件或识别任何程序集属性来指定帮助文件链接。很显然,像Sand Castle这样的工具可以从程序集的intellisense注释生成程序集
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帮助的手动副本)所节省的工作量还要多
是否有人有任何想法或知道任何已经解决此问题的工具?使用[Description]属性作为。Free Pascal的CHML工具可以尝试重建帮助上下文信息。使用其“extractalias”选项。注意:这些是与.hlp兼容的数字ID。真正的chm上下文主要是chm(+chm文件名)中的相对路径,可以使用ms-its://样式的url包含这些路径。