C# Sandbox
ЗАДАЧА
загрузите приложение с любого места на компьютере в массив байтов (byte[])
using (FileStream fs = new FileStream(path, FileMode.Open))
using (BinaryReader br = new BinaryReader(fs))
var bin = br.ReadBytes(Convert.ToInt32(fs.Length));
Укажите путь к библиотекам
создайте домен AppDomain.CreateDomain
установить события nameDomain.CurrentDomain.AssemblyResolve += OnAssemblyResolve; для загрузки библиотек
загрузите массив байтов nameDomain.Load(bytes)
и запустите приложение Invoke метод Main
Вот код для примера
public static void Run()
{
var path = Path.Combine(assemblyDependencyPath, "WpfApp1.exe");
if (File.Exists(path))
{
// read the bytes from the application exe file
using (FileStream fs = new FileStream(path, FileMode.Open))
using (BinaryReader br = new BinaryReader(fs))
{
var bin = br.ReadBytes(Convert.ToInt32(fs.Length));
AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;
// load the bytes into Assembly
var a = Assembly.Load(bin);
// search for the Entry Point
// *** Indirectly call the remote interface
var result = a.EntryPoint.Invoke("ExecuteDynamicCode", null);// this is the object to return
}
}
}
private static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs argss)
{
var domain = sender as AppDomain;
if (argss.Name.Contains(".resources"))
return null;
var di = new DirectoryInfo(assemblyDependencyPath);
var module = di.GetFiles().FirstOrDefault(i => i.Name == argss.Name + ".dll");
if (module != null)
{
return domain.Load(module.FullName);
}
return null;
}
Нужно его доработать или модифицировать
-
224 2 0 Готов сделать. пишите в лс, обсудим все более детально.
Skype: olehspidey
Telegram: @olehspidey
Актуальні фриланс-проєкти в категорії C#
Добробка в існуючій версії 1с роздріб блоку для РЦ(розподільчого центру))в загальному поясню що у нас за база - Є загальний сервер де є дів база РОзница (де ставляться усі приходи) - база УТП- куди переливаються усі продажі - рахується націнка залишки по складах - маленькі бази роздрібних магазинів. по обмінам у нас Магазини обмінюються із базою… C та C++, C# ∙ 3 дні 11 годин тому ∙ 6 ставок |
Потрібно зробити міграцію поточної робочої програми з foxpro на C#Всім привіт! У нас є програма на foxpro (в ній є кілька модулів, програма для обліку), є вихідники програми, при гострій необхідності можна проконсультуватися з людьми по підтримці поточної програми Що потрібно зробити: 1. Аналіз, що і як працює, скласти список всього зайвого,… C#, Десктопні додатки ∙ 6 днів 2 години тому ∙ 18 ставок |
Junior C#Шукаємо талановитого й амбітного Junior C# розробника, який прагне професійного росту та нових викликів. Твої майбутні задачі: - Розробка та підтримка бекенд-рішень із фронтендом (Telegram-бот); - Автоматизація рутинних процесів у відділах Android-розробки, техпідтримки та… C# ∙ 6 днів 17 годин тому ∙ 8 ставок |