2012-09-20 82 views

回答

3

要獲得大會的名稱,而不加載到當前應用程序域,創建一個新的AppDomain,使用AppDomain.Load然後調用FullName屬性。例如:

byte[] asmData; // Contains the assembly data 

AppDomain appDomain = AppDomain.Create("MyDomain"); 
Assembly assembly = appDomain.Load(asmData); 
string name = assembly.FullName; 
AppDomain.Unload(Unload); 

根據MSDN,假設沒有其它的結構域已加載的組件,但是應當不被加載到當前應用程序域被卸載。

如果您不想將其加載到任何應用程序域中,請將字節保存到文件並使用AssemblyName.GetAssemblyName方法。

+0

謝謝你的回答。 我認爲這是獲取組裝標識信息的昂貴方式。 – void

+0

@void如果速度很關鍵,調用者是否可以使用字節數組提供程序集名稱? – akton

+0

是的,它可以。我們這樣做了。但是從飛行的字節數組檢測名稱是可取的。 – void

相關問題