Я пытаюсь сделать свое приложение переносимым, что означает встраивание моих зависимостей в само приложение. Я использую этот код:
AppDomain.CurrentDomain.AssemblyResolve += (sender, e) =>
{
string resource = nameof(x) + "." + new AssemblyName(e.Name).Name + ".dll";
if (resource.EndsWith(".resources.dll"))
{
return null;
}
using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resource))
{
byte[] data = new byte[stream.Length];
stream.Read(data, 0, data.Length);
Assembly assembly = Assembly.Load(data);
return assembly;
}
};
Для загрузки сборок во время выполнения. Тем не менее, это довольно медленно. От начала до события Form.Shown требуется около 1,2 секунды, а 400 мс загружаются сборками во время выполнения. Есть ли способ ускорить это? Спасибо.