1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- using System;
- using System.Reflection;
- using System.Windows.Forms;
- namespace OTSIncAReportApp
- {
- static class Program
- {
- /// <summary>
- /// 应用程序的主入口点。
- /// </summary>
- ///
- static Program()
- {
- string privatepath = "System;Common;DevExpress;FEIAutoScript;SQLiteDll;OxfordExtender;OTSCPPDll;OpenCvSharp;CefSharp";
- AppDomain.CurrentDomain.SetData("PRIVATE_BINPATH", privatepath);
- AppDomain.CurrentDomain.SetData("BINPATH_PROBE_ONLY", privatepath);
- var m = typeof(AppDomainSetup).GetMethod("UpdateContextProperty", BindingFlags.NonPublic | BindingFlags.Static);
- var funsion = typeof(AppDomain).GetMethod("GetFusionContext", BindingFlags.NonPublic | BindingFlags.Instance);
- m.Invoke(null, new object[] { funsion.Invoke(AppDomain.CurrentDomain, null), "PRIVATE_BINPATH", privatepath });
- }
- [STAThread]
- static void Main(string[] args)
- {
- Application.EnableVisualStyles();
- Application.SetCompatibleTextRenderingDefault(false);
- //AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;
- //分别调用无参报告,和带参报告
- if (args.Length == 0)
- {
- frmReportApp frmReportApp = new frmReportApp();
- Application.Run(frmReportApp);
- }
- else
- {
- frmReportApp frmReportApp = new frmReportApp(args);
- Application.Run(frmReportApp);
- }
-
- }
- static System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
- {
- string dllname = args.Name.Split(',')[0];
- string path;
- if (dllname.Contains("CefSharp"))
- {
- path = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"CefSharp");
- }
- else if (dllname.Contains("resource"))
- {
- return null;
- }
- else
- {
- path = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"OTSCPPDll");
- }
- path = System.IO.Path.Combine(path, dllname);
- path = String.Format(@"{0}.dll", path);
- //if (path.Contains("CefSharp")) return null;
- return System.Reflection.Assembly.LoadFrom(path);
- }
- //static System.Reflection.Assembly CurrentDomain_ResourcesAssemblyResolve(object sender, ResolveEventArgs args)
- //{
- // string dllName = args.Name.Contains(",") ? args.Name.Substring(0, args.Name.IndexOf(',')) : args.Name.Replace(".dll", "");
- // dllName = dllName.Replace(".", "_");
- // if (dllName.EndsWith("_resources")) return null;
- // System.Resources.ResourceManager rm = new System.Resources.ResourceManager(GetType().Namespace + ".Properties.Resources", System.Reflection.Assembly.GetExecutingAssembly());
- // byte[] bytes = (byte[])rm.GetObject(dllName);
- // return System.Reflection.Assembly.Load(bytes);
- //}
- }
- }
|