我知道裝配由1個或多個模塊和資源文件(如果有)組成。裝配多個管理模塊
如果您使用C#編譯項目,則編譯器將簡單地將代碼轉換爲託管模塊,然後將該模塊放入程序集中。現在我的問題是,大會什麼時候有超過1個託管模塊?
我知道裝配由1個或多個模塊和資源文件(如果有)組成。裝配多個管理模塊
如果您使用C#編譯項目,則編譯器將簡單地將代碼轉換爲託管模塊,然後將該模塊放入程序集中。現在我的問題是,大會什麼時候有超過1個託管模塊?
繼承人很好解釋Netmodule vs. Assembly。
總之,人們會使用多個模塊基於這些原因:
多語言組件。
如果程序集由包含不同編程語言的源文件組成,則必須將具有相同編程語言的文件編譯爲netmodules,然後將它們鏈接到程序集中。
單獨維護的源文件。
如果程序集是由多個開發人員維護的,將源文件分成小集合可能是有意義的。每個集合都由一個開發人員擁有。集合被編譯爲netmodules,然後鏈接到最終的程序集。
小的下載足跡。
如果程序集駐留在http站點中,CLR將只在第一次下載主模塊。其餘模塊將按需下載。您可以將不常使用的代碼與主線代碼分開,並將不常用的代碼編譯爲netmodule。用戶將只在需要時下載netmodule。
將相同的源文件鏈接到多個程序集。
您可能有一些在多個程序集中使用的通用代碼。通用代碼很小,不需要將它們編譯爲單獨的程序集。爲避免多次編譯相同的源文件,可以將它們編譯爲netmodule,然後將其鏈接到不同的程序集中。
如果你有一個Project
命名空間中Project.Utilities
命名空間中的一類,而另一個類,就會有兩個模塊:
Project
Project.Utilities
這似乎成爲.Net程序集的組織方式,classes -> modules -> assembly
。
編譯器似乎名稱與命名空間中的類模塊。
你可以看到通過使用ildasm或.Net Reflector
現有的組件模塊結構當你說「模塊」,你是什麼意思? – Oded
@Oded,模塊我的意思是「託管模塊」,它是由編譯器針對CLR組成的IL代碼和元數據。 – ebb
你讀過這個嗎? http://stackoverflow.com/questions/1326556/what-is-managed-module/1326563#1326563 – Oded