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

Visual Studio C# 2022无法识别GAC中安装的DLL求助

GAC安装操作的问题分析及解决办法

核心问题:手动复制DLL到GAC文件夹不是合法的安装方式

GAC(全局程序集缓存)不是普通文件目录,无法通过手动复制文件完成程序集注册,你的操作存在以下关键问题:

  • 未使用官方工具注册程序集
    要将程序集安装到GAC,必须用官方提供的工具完成:

    • 针对.NET Framework,使用gacutil.exe工具,命令格式为:
      gacutil /i YourAssembly.dll
      
    • 针对.NET Core/.NET 5+,GAC机制已被弃用,改用共享框架或NuGet包管理程序集。
  • 程序集可能未强命名
    只有强命名程序集才能被纳入GAC。强命名需要用密钥对给程序集签名,步骤如下:

    1. 使用sn.exe生成密钥对:
      sn -k KeyPair.snk
      
    2. 在项目的AssemblyInfo.cs中添加签名配置:
      [assembly: AssemblyKeyFile("KeyPair.snk")]
      
      或者在Visual Studio项目属性的「签名」选项卡中勾选「为程序集签名」并选择密钥文件。
  • GAC目录的认知误区
    你复制到的C:\Windows\assembly是GAC的可视化视图,实际程序集存储在C:\Windows\Microsoft.NET\assembly下的对应子目录(如GAC_64、GAC_MSIL)。手动复制文件到可视化视图目录不会被系统识别,必须通过工具写入正确存储路径并更新缓存元数据。

在Visual Studio中找到GAC程序集的正确方式

即使程序集正确安装到GAC,VS添加引用时默认不会显示所有GAC程序集,你可以:

  1. 打开「添加引用」对话框,点击「浏览」,导航到C:\Windows\Microsoft.NET\assembly下对应架构的子目录,找到目标程序集。
  2. 针对.NET Framework项目,也可以在「程序集->扩展」列表中查找已注册的自定义强命名程序集。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 10:20:21