Mat*_*zer 3 c# documentation sandcastle maml shfb
我正在尝试使用<codeEntityReference>MAML元素创建指向自定义扩展方法的链接,一旦我构建了文档,我就会得到整个<codeEntityReference>标记内容而不是整个方法的链接.
该方法的一个示例是:
namespace SampleProject
{
public static class ExtensionMethods
{
public static bool SomeExtension<T>(this T some) => true;
}
}
Run Code Online (Sandbox Code Playgroud)
而<codeEntityReference>将如下<codeEntityReference>M:SampleProject.ExtensionMethods.SomeExtension{T}(TObject)</codeEntityReference>
上面的链接将产生类似M的输出:SampleProject.ExtensionMethods.SomeExtension {T}(T).
实际上,我在文档构建过程中遇到以下错误:
警告:BuildAssembler:警告:ResolveReferenceLinksComponent:[52e40f26-3dfe-47e0-adf1-09233e98f42e]未知的引用链接目标'M:SampleProject.ExtensionMethods.SomeExtension {T}(T)'
我错过了什么吗?那有什么不对?我试图提供方法参考:
M:SampleProject.ExtensionMethods.SomeExtension`1
Run Code Online (Sandbox Code Playgroud)
......但它没有解决问题.
最后,我解决了检查 C# 编译器如何为程序集生成 XML 文档文件的问题。
例如,<codeEntityReference>我的示例扩展方法是:
<codeEntityReference>
M:SampleProject.ExtensionMethods.SomeExtension``1(``0)
</codeEntityReference>
Run Code Online (Sandbox Code Playgroud)
更好的方法是使用实体引用工具!您可以在visual studio的View-> Other Windows菜单下找到它.
打开它后,在Type组合框中选择"Code Entities",然后搜索您想要代码参考的方法/属性/类.它将显示您的代码实体参考所需的工作.
| 归档时间: |
|
| 查看次数: |
725 次 |
| 最近记录: |