获取snk文件的公钥
生成snk(如果有则跳过):
sn -k MyKeyPair.snk生成公钥文件:
sn -p MyKeyPair.snk MyKeyPair.Public.snk显示公钥:
sn -tp MyKeyPair.Public.snk
生成snk(如果有则跳过):
sn -k MyKeyPair.snk生成公钥文件:
sn -p MyKeyPair.snk MyKeyPair.Public.snk显示公钥:
sn -tp MyKeyPair.Public.snk反汇编 DLL:
ildasm /all /out:Assembly.il YourAssembly.dll修改 IL 文件:
在生成的 Assembly.il 文件中添加强名称密钥引用:
.assembly YourAssembly
{
.publickey = (生成的公钥令牌)
.ver 1.0.0.0
}如:
.publickey = (00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 // .$..............
00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 // .$..RSA1........
17 51 79 E3 E5 00 53 AA 1D 7C 9D 09 31 0D D2 AE // .Qy...S..|..1...
CD 6E 80 FF C7 33 14 9E CD 64 AA 2E F1 D0 A7 0C // .n...3...d......
BF 92 D4 70 E1 7E 42 60 AF 61 21 63 5F 68 03 07 // ...p.~B`.a!c_h..
A2 A3 B3 96 AC BC 38 BC 46 19 33 D9 9D 30 07 21 // ......8.F.3..0.!
FC 8D FC 8F 89 C0 8A 33 80 69 59 3B 36 54 3F A2 // .......3.iY;6T?.
5F 1D CF 63 44 43 2C 40 E0 4D CB 1D 1C 18 DB C5 // _..cDC,@.M......
14 DC C9 A6 35 AF 28 3F 44 E1 E9 8B 06 6D 70 8B // ....5.(?D....mp.
0F F5 7E 92 6C AB 3D 1B 0D 41 7E 34 E4 1A 45 E1 ) // ..~.l.=..A~4..E.
创建强名称密钥(如果没有):
sn -k MyKeyPair.snk重新汇编:
ilasm /dll /key=MyKeyPair.snk /output=YourAssembly_Signed.dll Assembly.il| Visual Studio 版本 | .NET 版本 | C# 版本 | 主要新特性(C#) |
|---|---|---|---|
| VS 2022 (17.0+) | .NET 6-9 | C# 10-12 | 记录结构、全局using、文件作用域命名空间、原始字符串字面量等 |
| VS 2019 (16.0+) | .NET Core 3.x/.NET 5 | C# 8.0-9.0 | 默认接口方法、异步流、索引和范围、模式匹配增强等 |
| VS 2017 (15.0+) | .NET Core 1.x-2.x | C# 7.0-7.3 | 元组、模式匹配、本地函数、ref返回值等 |
| VS 2015 | .NET 4.6 | C# 6.0 | 空条件运算符、字符串插值、nameof表达式等 |
| VS 2013 | .NET 4.5.1 | C# 5.0 | 异步/await、调用者信息特性 |
| VS 2012 | .NET 4.5 | C# 5.0 | 异步/await(主要) |
| VS 2010 | .NET 4.0 | C# 4.0 | 动态类型、命名参数、可选参数 |
| VS 2008 | .NET 3.5 | C# 3.0 | LINQ、Lambda表达式、扩展方法 |
| VS 2005 | .NET 2.0 | C# 2.0 | 泛型、匿名方法、迭代器 |
IIS(Internet Information Services)版本 与其对应的 Windows 操作系统 版本列表:
| IIS 版本 | Windows 版本 | 备注 |
|---|---|---|
| IIS 10.0 | Windows Server 2019 / 2022 Windows 10 (版本 1607+) / Windows 11 | 支持 HTTP/2、TLS 1.3(后期更新) |
| IIS 8.5 | Windows Server 2012 R2 Windows 8.1 | 包含动态站点压缩、ETag 改进等 |
| IIS 8.0 | Windows Server 2012 Windows 8 | 支持 SNI(服务器名称指示)、WebSocket 等 |
| IIS 7.5 | Windows Server 2008 R2 Windows 7 | 集成 PowerShell 管理、最佳化配置 |
| IIS 7.0 | Windows Server 2008 Windows Vista | 模块化架构、集成 .NET 支持 |
| IIS 6.0 | Windows Server 2003 Windows XP Professional x64 Edition | 引入应用程序池、XML 配置支持 |
| IIS 5.1 | Windows XP Professional | 桌面版 IIS,功能受限 |
| IIS 5.0 | Windows 2000 Server | 支持 ASP、FTP 隔离等 |
| IIS 4.0 | Windows NT 4.0 Option Pack | 通过 NT 4.0 的附加包安装 |
| IIS 3.0 | Windows NT 4.0 Service Pack 3 | 引入 ASP 支持 |
| IIS 2.0 | Windows NT 4.0 | 基础 Web 服务器功能 |
| IIS 1.0 | Windows NT 3.51 | 最初版本,功能简单 |
服务器与客户端区别:
IIS 10 版本细分:
生命周期: