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

Visual Studio 2012中使用CM.sms.dll出现“无可用源代码”错误求助

解决NuGet安装CM.sms.dll后调试时“无可用源代码”的问题

我之前也碰到过类似的情况,其实这个错误本质上是调试器找不到CM.sms.dll对应的源代码文件导致的,它并不会影响程序的正常运行,只是在调试时会弹出这个提示。下面给你几个可行的解决办法:

  • 直接跳过调试继续运行
    如果只是想让程序正常跑起来,不需要调试这个第三方类库的代码,你可以直接点击调试器弹窗里的“继续执行”(或者按F5),程序会正常执行后续逻辑,这个提示不会影响功能。

  • 检查并安装符号包(.snupkg)
    有些NuGet包的作者会同时发布符号包,符号包包含了调试所需的符号信息,能帮助调试器定位代码。你可以:

    1. 打开NuGet包管理器,搜索CM.sms,看看是否有对应的符号包(通常后缀是.snupkg);
    2. 如果有符号包,安装它;
    3. 打开Visual Studio的「工具->选项->调试->符号」,勾选「Microsoft符号服务器」,如果是自定义符号源也可以添加进去,然后重启调试。
  • 反编译代码供调试使用
    如果没有官方的符号包或源代码,又确实需要调试这个类库的逻辑,可以用反编译工具(比如ILSpy、dnSpy)把CM.sms.dll反编译成C#代码,然后:

    1. 将反编译后的SmsGatewayClient.cs文件放到调试器提示的路径(也就是c:\dev\SMS\CM.Sms.Server.Client\CM.Sms.Server.HttpMTGateway.Client\CM.Sms.Gateway.NugetPackage\CM.Sms\);
    2. 或者在调试器弹出的“查找源代码”对话框里,直接选择你保存反编译文件的位置,调试器就会加载这个文件用于调试(注意反编译的代码可能和原始代码有细微差异)。
  • 禁用该类库的符号加载
    如果你不想再看到这个提示,可以设置永远不加载该类库的符号:

    1. 调试时打开「调试->窗口->模块」;
    2. 在模块列表里找到CM.sms.dll,右键选择「符号加载选项」;
    3. 选择「永远不加载符号」,之后调试时就不会再弹出这个错误提示了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:18:36