Есть хостинг на котором лежит файл. Файл создан из dll библиотеки прочитанной ReadAllBytes и сохраненной WriteAllBytes как массив байтов, на это не важно. Сама по себе библиотека работает. Если брать новый файл - массив байт и загружать его как dll тоже все хорошо :
byte[] all = File.ReadAllBytes(@"ByteDll.mvvm");
Assembly a = Assembly.Load(all);
object o = a.CreateInstance("Library.Class1");
Type t = a.GetType("Library.Class1");
MethodInfo mi = t.GetMethod("mess");
mi.Invoke(o, null);
проблема начинается если я выкладываю ByteDll на хостинг и потом скачиваю его так:
WebClient client = new WebClient();
client.DownloadFile("http://iwwwi.esy.es/", "ByteDll.mvvm");
Скачанный файл на четверть меньше по размеру и при запуске возникает ошибка :
Не удалось загрузить файл или сборку "3547 bytes loaded from ReadWriteBytes, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" либо одну из их зависимостей. Была сделана попытка загрузить программу, имеющую неверный формат.
Хотя если я просто руками скачаю тот же файл он будет работать как положено.
Пробовал так :
byte[] all = client.DownloadData("http://iwwwi.esy.es/");
Assembly a = Assembly.Load(all);
результат тот же.
Просто адрес был не правильны. Вот как нужно было :
var all = client.DownloadData("http://iwwwi.esy.es/ByteDll.mvvm");
Assembly a = Assembly.Load(all);
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости