如果大家平时生成项目的时候,应该会了解,生成类框架的时候,不仅会生成自身的类包DLL文件,引用其他的第三方DLL或从nuget包管理器中下载的DLL文件都会编译出来。对于封装成DLL文件给到其他项目使用不是很友好,还很麻烦,每次引用总是要添加许多DLL文件进去。综上的解决方式如下:
这是CSDN的帮助说明文档可供大家参考:https://docs.microsoft.com/zh-cn/dotnet/framework/tools/sn-exe-strong-name-tool
首先找到Sn.exe这个程序,改程序主要用来注册引用DLL的,我的Sn.exe路径如下:
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\x64;
通过执行cmd程序 找到该目录;然后执行如下命令:sn -k keyfile.snk 会生成一个文件;也是在上面的目录下;将它拷贝到你的项目中。你项目的AssemblyInfo.cs中加入如下特性:[assembly: AssemblyKeyFile("..\\..\\keyfile.snk")];这里是相对路径,如果是其他路径,大家可以调整。gacutil -i 执行DLL;再把你的DLL引用,右击属性,有一个复制本地选择false。这样清理下文件,重新生成类库,发现就一个DLL引用了,这样在其他项目中调用该引用,如果不报错,那就OK了。