Я успешно запускаю сборку (exe) из байтового массива.Мой код:
public static void Execute(byte[] assembly, string arg) {
if (assembly[0x3c] == 0x80) {
object[] o = new object[] { new string[] { arg } };
try {
Assembly.Load(assembly).EntryPoint.Invoke(null, o);
} catch (TargetInvocationException e) {
throw e.InnerException;
}
} else {
throw new Exception("File is not a valid .NET assembly.");
}
}
Все хорошо, но исполняемый файл продолжает пропускать память.Оригинал нуждается в 6-10 МБ, этот после запуска выдает 40-60 и до 145 МБ (а затем падает до 10 и снова зацикливается).
Почему это происходит, что приводит к утечке памяти и любые идеи, какэто исправить?