当前位置:  开发笔记 > 编程语言 > 正文

什么是.NET中的模块?

如何解决《什么是.NET中的模块?》经验,为你挑选了3个好方法。

究竟是什么模块?模块,类和函数之间有什么区别?如何在C#中访问模块?

我问这个是因为我想在运行时计算一些特定函数的IL代码的校验和(不使用代码签名).



1> OJ...:

模块是程序集中代码的逻辑集合.您可以在程序集中包含多个模块,并且每个模块都可以使用不同的.NET语言编写(据我所知,VS不支持创建多模块程序集).

程序集包含模块.模块包含类.类包含函数.

是的,您可以通过运行时的反射访问程序集,模块,类,函数,属性,字段等.


通常(并且您在VS中没有选项)组件由单个模块组成.但是,使用命令行工具可以创建多个模块的程序集(其中一个模块将包含整个程序集的元数据).可以用于允许clickonce的增量下载.

2> PHeiberg..:

作为其他答案的补充:

MSDN声明:"模块是Microsoft中间语言(MSIL)文件,没有程序集清单."

通过使用Assembly Linker(al.exe)实用程序生成程序集清单,可以将模块"链接"在一起.如果我没记错的话,CLR可以加载一个程序集的各个模块,这样只需加载必要的模块.

编辑:找到一个更好的Netmodules 描述以及为什么你想要它们.

这里还有另一个问题涉及校验和主题.答案提到使用GetILAsByteArray方法获取IL.



3> Alexander Bi..:

一份文件

这就是模块.

module: A single file containing content that can be executed by the VES

(VES读取.NET程序集并将其转换为机器代码的程序在哪里.)请参阅http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-335.pdf分区I第16页.

-

程序集是文件系统(模块)中文件的连贯集合.请参阅http://msdn.microsoft.com/en-us/library/zst29sk2(vs.71).aspx

显然,类定义是在文件(模块)内部定义的.

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有