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

VSIX项目引用类库加载失败问题求助

解决VSIX自动加载包时的强命名程序集错误

这个错误0x80131044的核心原因很明确:Visual Studio要求通过ProvideAutoLoad特性标记的自动加载包,其依赖的所有程序集必须是强命名的。你的类库TestLibrary没有强命名,所以VS在加载包时直接拒绝了它。

下面是具体的解决步骤:

1. 为类库项目生成强命名密钥

  • 右键你的TestLibrary类库项目,选择属性
  • 切换到签名选项卡,勾选「为程序集签名」
  • 在「选择强命名密钥文件」下拉框中选择新建,输入密钥文件名(比如TestLibraryKey.snk),可选择是否设置密码,点击确定
  • 重新生成类库项目,此时输出的TestLibrary.dll就是强命名的程序集了

2. 更新VSIX项目的引用和资产配置

  • 如果你之前是直接引用类库项目,重新生成VSIX项目即可自动同步强命名后的程序集;如果是手动引用dll文件,删除旧引用,重新添加强命名后的TestLibrary.dll
  • 打开.vsixmanifest文件,确保TestLibrary作为Microsoft.VisualStudio.Assembly类型的资产被添加,并且AssemblyName字段包含强命名后的完整程序集信息(公钥令牌不再是null)

3. 验证强命名是否生效

打开Visual Studio开发者命令提示符,执行以下命令查看程序集的公钥令牌:

sn -T TestLibrary.dll

执行后会返回一串公钥令牌字符串,说明强命名已经成功生效。

补充说明

VS对自动加载的包有更严格的安全校验,强命名是为了确保程序集的完整性和不可篡改。哪怕你的类库已经放在扩展目录、也添加了资产配置,缺少强命名这一步,VS仍然会拒绝加载。完成强命名后重新部署VSIX扩展,加载解决方案时包就能正常加载了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:45:16