2013-03-30 3 views
1

Я хотел бы знать, как я могу запустить сборку .NET из массива байтов с параметрами. Я не хочу сначала записывать его на диск. Может ли кто-нибудь дать мне пример о том, как это сделать? Спасибо.C# Загрузить сборку .NET из памяти с параметрами

+1

Если ваша сборка имеет тип 'exe'. Ты не можешь. –

ответ

5

Это должно сделать трюк.

Assembly program = Assembly.Load(ASSEMBLY_BYTES); 

string[] args = new string[] { "-s" }; 

program.EntryPoint.Invoke(null, new object[] { args }); 
+0

О, wow lol, теперь это совпадение haha ​​ – user2073973

+0

+1 ... и это довольно старый трюк http://www.codeproject.com/Articles/ 13897/Load-a-EXE-File-and-Run-It-from-Memory - и еще одна информация – NSGaga

1

Существует method: Assembly.Load(Byte[]).

+0

ну, его сборка является исполняемым файлом, и ему нужно запустить его с определенными параметрами командной строки, поэтому я думаю, что это невозможно. –

+0

Проблема в том, что я не могу дать никаких аргументов программе – user2073973

0

Я задал вопрос на другом форуме, и они смогли мне помочь, это то, что я искал;

 Assembly program = Assembly.Load(ASSEMBLY_BYTES); 

     string[] args = new string[] { "-s" }; 

     program.EntryPoint.Invoke(null, new object[] { args });