天天看点

CLR via C# 读书笔记2-1

.NET Framework 开发的目标

原先的Windows程序有以下3个不足:

  1. 采用的 dynamic-link libraries (DLLs) 方式在升级后经常对已有程序造成影响,被戏称为 “DLL hell”。
  2. 安装一个程序的时候总是会影响到整个系统(比如:目录,注册表,快捷方式等等),这使得一个程序并不是一个单独的个体,从而无法简便的备份该程序也无法简单地从一台电脑迁移到另一台电脑。你只能通过安装程序来进行安装和卸载,另外你无法保证卸载后没有遗留垃圾信息。
  3. 安全性不高,安装完的程序几乎可以运行任何操作,而用户却一无所知。

.NET Framework 解决了这些问题:

  1. 解决了 DLL hell 问题,在后续的章节中会涉及这部分内容。
  2. 解决了应用程序杂乱存储的状态信息,比如:不需要注册表来存放设定。(可惜快捷方式还是老样子)
  3. Windows 安全与用户帐号挂钩,代码访问安全 (code access security) 允许设定宿主权限,即决定被装载的组件能做什么/不能做什么。类似 Microsoft SQL Server 的宿主只能赋予为数不多的几个权限;而一个安装在本地的应用程序 (self-hosting) 可以以 full trust (所有权限)运行。