强签名
创建强签名程序步骤:
- 创建强签名snk文件
- 打开“开发者命令行工具”:开始菜单-》Visual Studio 2022-》Developer Command Prompt for VS 2022;
- 输入命令 sn -k D:\xy.snk ,按回车即可;
- 编译强签名工程(SDK格式)
- 在工程文件或Directory.Build.props添加强签名编译信息:
<PropertyGroup> <SignAssembly>True</SignAssembly> <AssemblyOriginatorKeyFile>..\xy.snk</AssemblyOriginatorKeyFile> </PropertyGroup>
- 添加snk文件
<ItemGroup>
<None Include="..\xy.snk" Link="xy.snk" />
</ItemGroup>
- 添加完成,编译即可
- 友元程序集
强签名的程序集,在使用InternalsVisibleToAttribute 添加友元时,会报 CS1726 友元程序集引用无效的错误,解决方式:
- 打开“开发者命令行工具”
- 生成公钥文件:sn -p D:\xy.snk D:\xy.PublicKey.snk
- 读取公钥文件:sn -tp D:\xy.PublicKey.snk
公钥(哈希算法: sha1):
2f81cc01c2b9a2da477897hloi8ygdxcv6586900e1dffcda39c0....
公钥标记为 98uijy67809ijh
- 写入友元文件
[assembly: InternalsVisibleTo("XY.XBS.Cores,PublicKey=0024000004....")]
到此强签名程序已全部完成
参考网站:https://blog.lindexi.com/post/dotnet-%E5%BC%BA%E7%AD%BE%E5%90%8D%E4%B8%8B%E4%BD%BF%E7%94%A8-InternalsVisibleToAttribute-%E7%BB%99%E7%A8%8B%E5%BA%8F%E9%9B%86%E5%8A%A0%E4%B8%8A%E5%8F%8B%E5%85%83.html
浙公网安备 33010602011771号