Записать и прочитать dll как массив байт

206
05 июня 2017, 21:27

Есть dll которая нормально работает. Перевожу её в массив байт вот так :

        byte[] b = File.ReadAllBytes(path);
        string name = "Dll.mvvm";
        foreach (byte byt in b)
        {
        File.AppendAllText(name, byt.ToString());
        }

затем пытаюсь этот массив динамически подгрузить как сборку и использовать:

        byte[] massDll = File.ReadAllBytes(pathTodll);
        Assembly a = Assembly.Load(massDll);
        object o = a.CreateInstance("namespace.Class");
        Type t = a.GetType("namespace.Class");
        MethodInfo mi = t.GetMethod("Start");
        mi.Invoke(o,null);

Ошибка :

Не удалось загрузить файл или сборку "80495 bytes loaded from ReadWriteAllBytes, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" либо одну из их зависимостей. Была сделана попытка загрузить программу, имеющую неверный формат.

Получившийся файл массива байтов почти в 2 раза больше исходной dll. В чем может быть проблема? Имеет ли значение в каком расширении я сохраняю массив байт ?

READ ALSO
Как добавить пользовательский класс в Windows Forms?

Как добавить пользовательский класс в Windows Forms?

Код писался под консоль, что-то вроде калькулятора для комплексных чисел, с перегрузкой каждого оператораКак перенести этот класс? В форме...

258
cefsharp изменить передаваемое время c#

cefsharp изменить передаваемое время c#

Доброго времени суток, не подскажите, как изменить системное время, которое передается браузером (cefsharp) сайту ? Я ставлю прокси

256
Как быстро обновить данные через Entity Framework?

Как быстро обновить данные через Entity Framework?

Пишу запрос вот такого вида:

304
WPF Создание кастомного стиля окна с тенью

WPF Создание кастомного стиля окна с тенью

Задачей является создание кастомного стиля окна обладающего следующими свойствами:

373