C# 注册DLL至GAC 并在添加引用中使用该DLL

Posted dongjh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 注册DLL至GAC 并在添加引用中使用该DLL相关的知识,希望对你有一定的参考价值。

本文链接:https://blog.csdn.net/World3000/article/details/81983590
1,创建一个强签名的类库

类库属性中新建秘钥文件

 

或者使用工具

 

使用命令sn -k mykey.snk生成snk文件。生成好的文件在C:\Windows\SysWOW64路径下。

2,管理员身份运行 

 

执行命令

 

完成注册DLL至GAC操作。文件存在

 

此时可删除项目Debuge文件夹中的该DLL,程序仍可运行【因为程序会优先使用GAC中的DLL】

3,注册表中加入Gac中的DLL

vs添加引用会遍历注册表,注册表中添加

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\SqlServerHelperTest1]
@="C:\\Windows\\Microsoft.NET\\assembly\\GAC_MSIL\\SqlServerHelperTest1\\v4.0_1.0.0.0__a6229ae9dad07680\\"

4,重启VS

添加引用在扩展中可以看见

 

添加完成后可将复制本地置为false,则debuge文件夹中不再有该DLL

 

程序一直会使用GAC中的DLL

 
————————————————
版权声明:本文为CSDN博主「Mrince」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/World3000/article/details/81983590

以上是关于C# 注册DLL至GAC 并在添加引用中使用该DLL的主要内容,如果未能解决你的问题,请参考以下文章

COM 注册和 GAC

C#:在 GAC 中查找 PresentationCore.dll(和其他程序集)的路径

在 GAC 注册的消费程序集

无法添加对 dll 的引用

█c# 为啥有的dll不能直接引用,必须regsvr32 注册后 才能引用?

C# - 从另一个 AppDomain 中的方法返回值