mirror of
https://github.com/4sval/FModel.git
synced 2026-03-23 10:14:20 -05:00
59 lines
1.9 KiB
C#
59 lines
1.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Reflection;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace FModel
|
|
{
|
|
static class Program
|
|
{
|
|
/// <summary>
|
|
/// Point d'entrée principal de l'application.
|
|
/// </summary>
|
|
[STAThread]
|
|
static void Main()
|
|
{
|
|
var assemblies = new Dictionary<string, Assembly>();
|
|
var executingAssembly = Assembly.GetExecutingAssembly();
|
|
var resources = executingAssembly.GetManifestResourceNames().Where(n => n.EndsWith(".dll"));
|
|
foreach (string resource in resources)
|
|
{
|
|
using (var stream = executingAssembly.GetManifestResourceStream(resource))
|
|
{
|
|
if (stream == null)
|
|
continue;
|
|
|
|
var bytes = new byte[stream.Length];
|
|
stream.Read(bytes, 0, bytes.Length);
|
|
try
|
|
{
|
|
assemblies.Add(resource, Assembly.Load(bytes));
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
System.Diagnostics.Debug.Print(string.Format("Failed to load: {0}, Exception: {1}", resource, ex.Message));
|
|
}
|
|
}
|
|
}
|
|
AppDomain.CurrentDomain.AssemblyResolve += (s, e) =>
|
|
{
|
|
var assemblyName = new AssemblyName(e.Name);
|
|
|
|
var path = string.Format("{0}.dll", assemblyName.Name);
|
|
|
|
if (assemblies.ContainsKey(path))
|
|
{
|
|
return assemblies[path];
|
|
}
|
|
|
|
return null;
|
|
};
|
|
Application.EnableVisualStyles();
|
|
Application.SetCompatibleTextRenderingDefault(false);
|
|
Application.Run(new MainWindow());
|
|
}
|
|
}
|
|
}
|