我想將程序集保存到使用System.Reflection.Emit.AssemblyBuilder的文件,但它不工作。C#在內存彙編到DLL文件
我有一個變量來保存運行完美的程序集,當我加載和運行它。
System.Reflection.Assembly dll = GetAssembly(resource);
有沒有人能幫我把這個「dll」保存到像「name.dll」這樣的文件中?
我想將程序集保存到使用System.Reflection.Emit.AssemblyBuilder的文件,但它不工作。C#在內存彙編到DLL文件
我有一個變量來保存運行完美的程序集,當我加載和運行它。
System.Reflection.Assembly dll = GetAssembly(resource);
有沒有人能幫我把這個「dll」保存到像「name.dll」這樣的文件中?
在評論中,您曾說私人GetAssembly
方法從資源文件中提取數據並從中構建程序集。假設從資源文件獲取的「字節」實際上只是程序集的字節,獲取文件的最簡單方法是從資源文件中獲取相同的字節,並調用File.WriteAllBytes
。你不需要通過一個Assembly
對象,這樣做會使工作更難。
您的AssemblyBuilderAccess
標誌必須爲RunAndSave
或Save
才能正常工作。
哪個GetAssembly方法是? – 2010-10-01 05:59:16
這是私人功能。它返回正確的程序集。我不知道如何保存這個程序集。 – Neutralizer 2010-10-01 06:04:19
那麼私人方法清楚地知道如何獲取數據...所以爲什麼不使用相同的邏輯? (將其解壓縮成一個常用方法。) – 2010-10-01 06:08:12