明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

什么是配件(assembly)?

[摘要]什么是配件(assembly)? assembly, 這里把它翻譯為配件, 以示和組件(Component)加以區(qū)別. 如果您覺得不合適, 請指正! 一個配件有時候是指一個EXE或者DLL文件, 實際上是一個應(yīng)用程序(就是指帶有主程序入口點的模塊)或者一個庫文件. 但是配件實際上可以是由一個或者多...
什么是配件(assembly)?


assembly, 這里把它翻譯為配件, 以示和組件(Component)加以區(qū)別. 如果您覺得不合適, 請指正!

一個配件有時候是指一個EXE或者DLL文件, 實際上是一個應(yīng)用程序(就是指帶有主程序入口點的模塊)或者一個庫文件. 但是配件實際上可以是由一個或者多個文件組成(dlls, exes, html等等), 代表一組資源, 以及類型的定義和實現(xiàn)的集合. 一個配件也可以包含對其它配件的引用. 所有這些資源、類型和引用都在一個列表(manifest)中描述。這個manifest也是配件的一部分,所以配件是一個自我描述的,不需要其它附加的部件對其描述!

配件的另一個重要特性是,它是.Net環(huán)境下類型標識的一部分,也可以說是基本單位。因為,區(qū)分一個類型的標識就是包含這個類型的配件名字加上類型名本身。舉個例子,配件A定義了類型T, 配件B也定義了同名類型T,但是.Net把這兩個類型認為是不同的類型。

注意,不要把配件(assembly)和名字空間(namespace)混淆起來。其實,名字空間僅僅是用來把類型名用樹的形式組織起來的手段。對于運行是環(huán)境來講,類型名就是類型名,和名字空間一點關(guān)系都沒有。

總之,記住配件名加上類型名唯一標識一個運行時類型。

另外,配件也是.Net框架用于安全策略的基本單位,許多安全策略都是基于配件的。