You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NuGet包XML注释无法显示,求排查解决方法

NuGet包XML注释无法在IntelliSense显示的问题

我创建了自己的NuGet包,在包的代码中,我给所有函数添加了XML注释,示例代码如下:

/// <summary>
/// 返回当前登录钱包的所有子钱包
/// </summary>
/// <param name="includeData">设为true时,将包含该钱包的所有代币信息</param>
/// <returns></returns>
public static GetWallets_Response GetWallets_Sync(bool includeData = true)
{
    Task<GetWallets_Response> data = Task.Run(() => GetWallets_Async(includeData));
    data.Wait();
    return data.Result;
}

将该包通过NuGet包管理器安装到另一个解决方案后,代码运行正常,但IntelliSense无法显示XML注释信息:
IntelliSense未显示注释的截图

我已尝试按照官方文档发布.snupkg符号包,但情况并未改变,请问是否遗漏了某些配置或需要启用什么设置才能让注释正常显示?


解决方法:

  • 确保生成并打包XML文档文件
    打开NuGet包项目的属性,进入「生成」选项卡,勾选「XML文档文件」,确认生成路径为bin\$(Configuration)\$(AssemblyName).xml。接着在项目的.csproj文件中添加以下配置,确保XML文件被包含到NuGet包中:

    <ItemGroup>
      <None Include="$(OutputPath)$(AssemblyName).xml" Pack="true" PackagePath="lib\$(TargetFramework)" />
    </ItemGroup>
    
  • 验证NuGet包中的XML文件
    下载自己发布的.nupkg包,将后缀改为.zip后解压,检查lib/对应目标框架版本目录下是否存在与dll同名的XML文件。如果不存在,说明打包配置有误,需要重新调整。

  • 符号包的作用说明
    .snupkg主要用于提供调试符号(pdb文件),XML注释是随主NuGet包分发的,不需要依赖符号包,因此之前发布snupkg无法解决问题是因为方向不对。

  • 清理本地NuGet缓存
    本地缓存的旧包可能未包含XML文件,执行以下命令清理缓存后重新安装包:

    dotnet nuget locals all --clear
    
  • 检查Visual Studio设置
    打开Visual Studio的「工具」→「选项」→「文本编辑器」→「C#」→「高级」,确认「显示XML文档注释」选项已勾选。


内容的提问来源于stack exchange,提问作者julian bechtold

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 15:10:29