《C#类设计手册》读书随笔(4)

简介:

Programmer To Programer 丛书
C# Class Design Handbook
Richard Conway, Teun Duynstee等著 
清华大学出版社


代码组织和元数据

共享程序集 全局程序集缓存  Global Assembly Cache (GAC)

程序集 可重用的最小单元

元数据 为公共语言运行时提供了在运行期间加载类型和调用方法所需的所有信息
metadata 是元编程的基础,在很多系统中也是根本的东西,了解这个东西可以比较深入的了解某个架构

查看元数据最简单方法使用ildasm.exe /adv或/advancel选项

.NET模块是一个可移植、可执行(PE)格式文件

只有数据的模块  SDK包含一个工具Assembly Linker(AL.exe)
利用该工具将这些非MISL模块链接到程序集中

将该文件编译成模块,必须使用C#.NET命令行编译器
不能使用Visual Studio .NET 因为它总是创建单、程序集
例如:csc /target:module csMod.cs csMod.netmodule 
*.netmodule 是.NET的模块
增加模块到程序集清单中:
csc /addmodule: csMod.netmodule /addmodule:VBMod.netmodule MainMod.cs

程序部署
部署单程序集应用程序比较简单,直接用xcopy部署。
私有程序集部署应用程序也不复杂,将需要的程序集合放在同一个文件夹或者用应用程序配置文件通知CLR在什么位置查找程序集

部署共享程序集
添加到GAC 全局程序集缓存
但Microsoft不推荐应用程序与GAC相互依赖,应尽量使用应用私有程序集部署方式

利用公有-私有密钥对可以为程序集创建强名称
编译期间编译器使用私钥,将相应的公钥写入程序集清单
sn (Strong Name)  sn \k *.snk
MSDN中查找"Keys crytography"查找相应内容
publickey 较长的数字
public key token 公钥令牌
sn \t *.snk

将共享程序集安装到GAC中
gacutil -i *.dll  需要管理员权限
或者在控制面板的管理工具中找 .NET FrameWork Configuration



本文转自风前絮~~博客园博客,原文链接:http://www.cnblogs.com/windsails/archive/2004/09/05/39837.html,如需转载请自行联系原作者


相关文章
|
7月前
|
Python
小甲鱼 模块与包上 笔记
小甲鱼 模块与包上 笔记
44 0
|
7月前
|
前端开发 小程序 JavaScript
0基础学前端-开篇语
0基础学前端-开篇语
|
JSON NoSQL API
python技术面试题(十一)
python技术面试题(十一)
|
缓存 JavaScript 前端开发
前端常规面试题 - 初级开发01(含答案)
浅谈一下如何避免用户多次点击造成的多次请求
281 0
|
移动开发 前端开发 JavaScript
2023最新H5前端阅读书单推荐
《HTML5权威指南》(电子版下载)是一本关于HTML5的详细指南。它详细介绍了HTML5的新特性,包括语法、API、图形和多媒体,以及与旧版HTML的区别。这本书非常适合那些希望快速了解HTML5的开发人员,并帮助他们创建高质量的网页和Web应用程序。
195 0
|
安全 Java 数据库
10分钟完成补充个人博客留言设计贴功能
10分钟完成补充个人博客留言设计贴功能
150 0
10分钟完成补充个人博客留言设计贴功能
FastAPI(七十一)实战开发《在线课程学习系统》接口开发-- 查看留言
FastAPI(七十一)实战开发《在线课程学习系统》接口开发-- 查看留言
|
前端开发
最新前端初中级面试题合集一,你确定不看一看嘛
收集的前端面试题,适合低中级前端工程师,祝大家找到好的工作.
|
UED
[博文推荐]设计的意义
本文来自丁宇的博客,分享了自己对于“设计的意义”的个人理解。 最近通过各种渠道和形式接触了几位设计师,他们来自不同的公司,做着迥异的产品,但当我问起类似于“设计的意义”这样的问题时,他们的回答均不能让人满意。
771 0

相关实验场景

更多