コード例 #1
0
ファイル: App.xaml.cs プロジェクト: PerditionC/TEMS-Inv
        /// <summary>
        /// Do any application wide initialization
        /// </summary>
        /// <param name="e"></param>
        protected override void OnStartup(StartupEventArgs e)
        {
#if !DEBUG
            // setup handler for any unexpected exceptions
            // unhandled exceptions on the UI thread
            Application.Current.DispatcherUnhandledException += new DispatcherUnhandledExceptionEventHandler(AppDispatcherUnhandledException);
            // any other unhandled exception
            AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(AppDomainUnhandledException);
#endif

            // let frame do anything it needs to do
            base.OnStartup(e);

            // Initialize embedded assembly loading and complete startup initialization.
            // Make deploying and sharing easier by supporting the embedding of most
            // resources/assemblies instead of having many small assemblies without
            // requiring building as 1 giant assembly.
            LibZResolver.Startup(() =>
            {
                // enable Sentry error reporting only when enabled in config file
                errorTracking = new AppErrorTracking("TRUE".Equals(GetAppSetting("ReportErrors", "True"), StringComparison.InvariantCultureIgnoreCase));

                EnableWpfBindingErrors();

                IntializeDatabaseRepository();
            });
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: waconline/LibZ
        /// <summary>Loads the plugins.</summary>
        private void LoadPlugins()
        {
            var catalog =
                new AggregateCatalog(
                    LibZResolver.GetCatalogs(
                        LibZResolver.RegisterMultipleFileContainers(".\\*.libzcodec")));

            using (catalog)
            {
                var container = new CompositionContainer(catalog);
                container.SatisfyImportsOnce(this);
            }
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: waconline/LibZ
 private static int Main(string[] args)
 {
     try
     {
         return(LibZResolver.Startup(() => {
             var program = new LibZ.Tool.Program();
             return program.Run(args);
         }));
     }
     catch (Exception e)
     {
         Console.WriteLine("Fatal initialization error");
         Console.WriteLine("{0}: {1}", e.GetType().Name, e.Message);
         Console.WriteLine(e.StackTrace);
         Console.ReadLine();
         return(-1);
     }
 }
コード例 #4
0
ファイル: App.xaml.cs プロジェクト: PerditionC/TEMS-Inv
        // Warning, do not create any static scoped variables and delay
        // initialization of instance variables in App class until we
        // initialize our DLL container support (libz)
        static DllResolver()
        {
            try
            {
                LibZResolver.RegisterFileContainer("TEMS.libz", optional: false);

                /*
                 * LibZResolver.RegisterFileContainer("Logging.libz", optional: false);
                 * LibZResolver.RegisterFileContainer("UI.libz", optional: false);
                 * LibZResolver.RegisterFileContainer("DB.libz", optional: false);
                 * LibZResolver.RegisterFileContainer("Async.libz", optional: false);
                 */
            }
            catch (Exception e)
            {
                System.Console.Error.WriteLine("Incomplete installation, missing required files!  Program Aborting!");
                System.Console.Error.WriteLine(e);
                MessageBox.Show("Incomplete installation, missing required files!  Program Aborting!\n\n" + e.ToString(),
                                caption: "Installation corrupt - Aborting!", button: MessageBoxButton.OK, icon: MessageBoxImage.Error);
                System.Environment.Exit(-1);
            }
        }