private void OptionsControl_Load(object sender, EventArgs e) { try { lblInfo.Text = String.Empty; _scripterConfig = _scripterConfigStorage.Load(); cbScriptDatabaseContext.Checked = _scripterConfig.ScriptDatabaseContext; cbScriptDatabaseContext.CheckedChanged += cbScriptDatabaseContext_CheckedChanged; _runConfig = _runConfigStorage.Load(); lblRunnerTool.Text = _runConfig.IsUndefined() || String.IsNullOrEmpty(_runConfig.RunTool) ? "none" : _runConfig.RunTool; if (_runConfig.IsUndefined()) { _runConfig.RunArgs = "$(Server) $(Database) $(User) $(Password)"; } lblRunnerArgs.Text = _runConfig.RunArgs; } catch (Exception ex) { cbScriptDatabaseContext.Enabled = false; lblInfo.Text = ex.Message; } }
static void Main(string[] args) { PluginManager.Load(); Config = JsonConvert.DeserializeObject <RunConfig>(File.ReadAllText("../../../Config.json")); Client.BuildVersion = Config.BuildVersion; List <IPlugin> plugins = new List <IPlugin>(); foreach (var p in Config.Plugins) { if (PluginManager.Plugins.ContainsKey(p)) { plugins.Add(PluginManager.Plugins[p]); } } foreach (var acc in Config.Accounts) { Task.Run(() => Clients.Add(new Client(acc, plugins))); } while (true) { string command = Console.ReadLine(); Console.WriteLine("Command: " + command); } }
public ContainerService(ILogger logger, RunConfig runConfig, DockerClient dockerClient, CronService cronService) { this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); this.runConfig = runConfig ?? throw new ArgumentNullException(nameof(runConfig)); this.dockerClient = dockerClient ?? throw new ArgumentNullException(nameof(dockerClient)); this.cronService = cronService ?? throw new ArgumentNullException(nameof(cronService)); }
public TrainAndEvalDict create_estimator_and_inputs(RunConfig run_config, HParams hparams = null, string pipeline_config_path = null, int train_steps = 0, int sample_1_of_n_eval_examples = 0, int sample_1_of_n_eval_on_train_examples = 1) { var config = ConfigUtil.get_configs_from_pipeline_file(pipeline_config_path); // Create the input functions for TRAIN/EVAL/PREDICT. Action train_input_fn = () => { }; var eval_input_configs = config.EvalInputReader; var eval_input_fns = new Action[eval_input_configs.Count]; var eval_input_names = eval_input_configs.Select(eval_input_config => eval_input_config.Name).ToArray(); Action eval_on_train_input_fn = () => { }; Action predict_input_fn = () => { }; Action model_fn = () => { }; var estimator = tf.estimator.Estimator(model_fn: model_fn, config: run_config); return(new TrainAndEvalDict { estimator = estimator, train_input_fn = train_input_fn, eval_input_fns = eval_input_fns, eval_input_names = eval_input_names, eval_on_train_input_fn = eval_on_train_input_fn, predict_input_fn = predict_input_fn, train_steps = train_steps }); }
public RunnerConfigForm(RunConfig runConfig) : this() { _runConfig = runConfig; tbTool.Text = _runConfig.IsUndefined() ? String.Empty : (_runConfig.RunTool ?? String.Empty); tbArgs.Text = _runConfig.RunArgs ?? String.Empty; }
public static void Init(SerialPortConfig portCfg, RunConfig runConfig) { Logger.Info("+"); _serialPort = new SerialPortWraper(portCfg); _runConfig = runConfig; _unitDictionary = new Dictionary <int, UnitMonitor>(); foreach (var a in runConfig.UnitAddrs) { _unitDictionary.Add(a, new UnitMonitor((byte)a, _serialPort, _runConfig)); } foreach (var m in _unitDictionary.Values) { m.LoadUnitConfigFromFile(m.Address, _runConfig.DataFilePath); } Logger.Info("unit count: " + _unitDictionary.Count); Logger.Info($"Open port {_serialPort.PortName} baud rate: {_serialPort.BaudRate}"); OpenPort(); Logger.Info($"Port open: {_serialPort.IsOpen}"); }
/// <summary> /// 解析要运行的模式 /// </summary> /// <param name="args"></param> /// <returns></returns> private static RunConfig getCfg(string[] args) { RunConfig cfg = new RunConfig(); //cfg.winPatternEnums = WinPatternEnums.CALL; //cfg.winPatternEnums = WinPatternEnums.SPLIT; cfg.winPatternEnums = WinPatternEnums.PREVIEW; //cfg.winPatternEnums = WinPatternEnums.PREVIEW_VERTICAL; //cfg.winPatternEnums = WinPatternEnums.CRUISE; cfg.pcUrl = "http://127.0.0.1:8099//video/registerPlayer"; cfg.callUrl = "http://127.0.0.1:8099//video/startRollCall"; cfg.nextCallUrl = "http://127.0.0.1:8099//video/startRollCallNext"; cfg.localPort = defaultPort; try { cfg.isShowHistoryList = Convert.ToBoolean(ConfigurationManager.AppSettings["showHistoryList"]); cfg.winPatternEnums = (WinPatternEnums)Enum.Parse(typeof(WinPatternEnums), args[0]); cfg.pcUrl = args[1]; } catch (Exception e) { logger.Error("初始化参数失败,使用默认参数:", e); } return(cfg); }
private static int Run(RunConfig config) { IEnumerable <SearchContent> searchPieces = new Collection <SearchContent>(); if (config.CleanLocalisations) { var keys = XamlKeys.Process(config.LocalisationPropertiesToIgnore, config.LocalisationResources); searchPieces = searchPieces.Concat(keys); } if (config.CleanStyles) { var styles = XamlStyles.Process(config.StyleResources); searchPieces = searchPieces.Concat(styles); } if (config.CleanImages) { var images = Images.Process(config.ImageExtensions, config.ImageRecurse, config.ImageFolders); searchPieces = searchPieces.Concat(images); } var xamlFiles = XamlFiles.FindXamlFiles(config.RootFolder); searchPieces = XamlFiles.Search(xamlFiles, searchPieces); if (config.ImageSearchInResources && config.CleanImages && config.CleanLocalisations) { searchPieces = XamlKeys.SearchLocalisationValues(config.LocalisationResources, searchPieces); } if (config.CleanLocalisations) { PrintResult(searchPieces, SearchContentType.ResourceID, "Resources with not match in XAML files", "No used resources :)"); } if (config.CleanStyles) { PrintResult(searchPieces, SearchContentType.BasedOnStyle | SearchContentType.StyleKey, "Styles with no match in XAML files", "No used styles :)"); } if (config.CleanImages) { PrintResult(searchPieces, SearchContentType.Image, "Images with no match in XAML files", "No used images :)"); } if (config.Beep) { Console.Beep(); } return((int)ExitCode.Success); }
public TrainAndEvalDict create_estimator_and_inputs(RunConfig run_config, int train_steps = 1) { var estimator = tf.estimator.Estimator(config: run_config); return(new TrainAndEvalDict { estimator = estimator, train_steps = train_steps, eval_input_fns = new Action[0] }); }
public void test_default_property_values() { var config = new RunConfig(); Assert.IsNull(config.model_dir); Assert.IsNull(config.session_config); Assert.IsNull(config.tf_random_seed); Assert.AreEqual(100, config.save_summary_steps); Assert.AreEqual(600, config.save_checkpoints_secs); Assert.AreEqual(5, config.keep_checkpoint_max); Assert.AreEqual(10000, config.keep_checkpoint_every_n_hours); Assert.IsNull(config.service); Assert.IsNull(config.device_fn); Assert.IsNull(config.experimental_max_worker_delay_secs); Assert.AreEqual(7200, config.session_creation_timeout_secs); }
public static async Task SendAsync(RunConfig cfg, IPAddress address, int port) { using (var clientSocket = new Socket(SocketType.Stream, ProtocolType.Tcp)) { clientSocket.Connect(new IPEndPoint(address, port)); using (Stream stream = File.OpenRead(cfg.FileName)) { byte[] bytes = new byte[cfg.BufferSize]; int readed = 0; do { readed = stream.Read(bytes, 0, cfg.BufferSize); await clientSocket.SendAsync(new ArraySegment <byte>(bytes, 0, readed), SocketFlags.None); } while (readed > 0); } } }
private static RunConfig ParseArguments(string[] Args) { var config = new RunConfig(); config.VerifyCertificate = true; config.Paginate = true; try { for (var i = 0; i < Args.Length; i++) { switch (Args[i]) { case "-u": if (config.Url != null) { PrintUsageAndDie(); } config.Url = Args[i + 1]; i++; break; case "-s": config.VerifyCertificate = false; break; case "-p": config.Paginate = false; break; } } } catch (IndexOutOfRangeException) { PrintUsageAndDie(); } if (config.Url == null) { PrintUsageAndDie(); } return(config); }
static void Main(string[] args) { logger.Info("启动参数是:" + String.Join(",", args)); RunConfig cfg = getCfg(args); ///防止程序重复启动 Process[] processes = Process.GetProcessesByName("videoPlayer"); if (processes.Length >= 2) { Console.WriteLine("检测到程序启动中!"); Process.GetCurrentProcess().Close(); //return; } Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); Application.ThreadException += Application_ThreadException; AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; Application.Run(new frmMain(cfg)); }
static SlevyrController() { Logger.Info("+"); var unitAddrs = Settings.Default.UnitAddrs.Split(';').Select(int.Parse); RunConfig = new RunConfig { IsMockupMode = Settings.Default.MockupMode, IsRefreshTimerOn = Settings.Default.IsRefreshTimerOn, IsReadOkNgTime = Settings.Default.IsReadOkNgTime, RefreshTimerPeriod = Settings.Default.RefreshTimerPeriod, WorkerSleepPeriod = Settings.Default.WorkerSleepPeriod, RelaxTime = Settings.Default.RelaxTime, ReadResultTimeOut = Settings.Default.ReadResultTimeOut, SendCommandTimeOut = Settings.Default.SendCommandTimeOut, DataFilePath = Settings.Default.JsonFilePath, UnitAddrs = unitAddrs, IsWriteEmptyToLog = Settings.Default.IsWriteEmptyToLog }; PortConfig = new SerialPortConfig { Port = Settings.Default.Port, BaudRate = Settings.Default.BaudRate, Parity = System.IO.Ports.Parity.None, DataBits = 8, StopBits = System.IO.Ports.StopBits.One, ReceiveLength = 11 }; SlevyrService.Init(PortConfig, RunConfig); Logger.Info("unit count: " + SlevyrService.UnitCount); if (RunConfig.IsRefreshTimerOn) { SlevyrService.StartWorker(); } }
public static void HttpGet(Object obj) { RunConfig cfg = (RunConfig)obj; string url; switch (cfg.urlIndex) { case 1: url = cfg.callUrl; break; case 2: url = cfg.nextCallUrl; break; default: url = cfg.pcUrl + "?winPattern=" + cfg.winPatternEnums + "&localPort=" + cfg.localPort + "&processId=" + cfg.processId; break; } try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "GET"; request.ContentType = "text/html;charset=UTF-8"; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); string retString = myStreamReader.ReadToEnd(); myStreamReader.Close(); myResponseStream.Close(); logger.Info("请求{" + url + "}的结果是:" + retString); } catch (Exception e) { logger.Info("请求{" + url + "}失败:", e); } }
private List <RunConfig> getTaskConfig() { List <RunConfig> tasks = new List <RunConfig>(); string sConnectionString = string.Empty; txtServerName.Invoke(new Action(delegate() { sConnectionString = string.Format("Server={0};Database=Doktorat;User Id={1};Password={2};", txtServerName.Text, txtUser.Text, txtPassword.Text); })); using (SqlConnection con = new SqlConnection(sConnectionString)) { con.Open(); using (SqlCommand cmd = new SqlCommand("", con)) { cmd.CommandText = "SELECT top 1000 ID_Program,Timeout,ID_Case,Name_Case,VisualizerID, Name_Program, Name_Map, Name_Config FROM dbo.TasksList ORDER BY ID_Config,id_trials,ID_Program"; using (SqlDataReader rdr = cmd.ExecuteReader()) { while (rdr.Read()) { RunConfig temp = new RunConfig((int)rdr["ID_Program"], (int)rdr["Timeout"], (int)rdr["ID_Case"], rdr["Name_Case"].ToString(), (int)rdr["VisualizerID"]); temp.Name_Program = (string)rdr["Name_Program"]; temp.Name_Map = (string)rdr["Name_Map"]; temp.Name_Config = (string)rdr["Name_Config"]; tasks.Add(temp); } } } } return(tasks); }
private static void RunLoop(RunConfig runConfig) { var runners = runConfig.GetRunners(); object preRunState = null; object preLoopState = null; if (runConfig.PreRuns != null) preRunState = runConfig.PreRuns(); Action<ILocator, int, object, object> run = runConfig.Run; Func<ILocator, int, object, object> preLoopRun = runConfig.PreLoops; Action<ILocator, object, object> postLoopRun = runConfig.PostLoops; for (var l=0; l < RUNS; l++) { p().BeginGroup((l+1).ToString()); foreach (var r in runners) { if (preLoopRun != null) preLoopState = preLoopRun(r, l, preRunState); var k = new PerfCounter(r.Name); k.Begin(); for (var i = 0; i < LOOPS; i++) { run(r, i, preRunState, preLoopState); } k.End(); p().Collect(k); if (postLoopRun != null) postLoopRun(r, preRunState, preLoopState); } p().EndGroup(); } p().Flush(); if (runConfig.PostRuns != null) runConfig.PostRuns(preRunState); }
public CronService(ILogger logger, AppConfig appConfig, RunConfig runConfig) { this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); this.appConfig = appConfig ?? throw new ArgumentNullException(nameof(appConfig)); this.runConfig = runConfig ?? throw new ArgumentNullException(nameof(runConfig)); }
private void UpdateStatus(bool isRunning, bool resultsAvailable, string message, RunConfig runConfig) { this.status.IsRunning = isRunning; this.status.ResultsAvailable = resultsAvailable; this.status.Message = message; this.status.NumberOfSteps = runConfig.NumberOfSteps; this.status.ImageWidth = runConfig.TargetBitmap.Width; this.status.ImageHeight = runConfig.TargetBitmap.Height; }
public void Run(RunConfig runConfig) { // Create a new run instance this.runInstance = Task.Run(() => { // Update engine status this.UpdateStatus(true, false, "Engine is running", runConfig); // Remove the current engine output directory if it exists if (Directory.Exists(Utilities.EngineOutputDirectory)) { Directory.Delete(Utilities.EngineOutputDirectory, true); } this.population = new Population(runConfig.TargetBitmap, runConfig); // Generate population switch (runConfig.GeneType) { case 1: population.GeneratePixelGenePopulation(runConfig); break; case 2: population.GenerateLineGenePopulation(runConfig); break; } var watch = System.Diagnostics.Stopwatch.StartNew(); for (int i = 1; i <= runConfig.Generations; i++) { // Check to see if this run has been cancelled if (this.cancel) { // Update engine status this.UpdateStatus(false, true, "Engine was cancelled", runConfig); this.cancel = false; break; } this.population.EvaluateFitness(); Gene topGene = this.population.NaturalSelection(); // Save the image of the top gene Utilities.SaveFittestGeneForGeneration(topGene.Bitmap, i); // If this is the last generation, then save the step images for this top gene if (i == runConfig.Generations) { topGene.SaveSteps(); } // Update engine status this.status.CurrentGeneration = i; } watch.Stop(); var elapsedMs = watch.ElapsedMilliseconds; System.Console.WriteLine($"Milliseconds: {elapsedMs}"); this.population.EvaluateFitness(); Utilities.SaveBitmap(this.population.BestGene.Bitmap, $"{Utilities.EngineOutputDirectory}/result.png"); // Update engine status this.UpdateStatus(false, true, "Results are available", runConfig); this.cancel = false; }); }
public static void HttpGetByThread(RunConfig cfg) { Thread t = new Thread(new ParameterizedThreadStart(HttpGet));//创建了线程还未开启 t.Start(cfg); }
public Estimator Estimator(Action model_fn, RunConfig config) => new Estimator(model_fn: model_fn, config: config);
private static int Run(RunConfig config) { IEnumerable<SearchContent> searchPieces = new Collection<SearchContent>(); if (config.CleanLocalisations) { var keys = XamlKeys.Process(config.LocalisationPropertiesToIgnore, config.LocalisationResources); searchPieces = searchPieces.Concat(keys); } if (config.CleanStyles) { var styles = XamlStyles.Process(config.StyleResources); searchPieces = searchPieces.Concat(styles); } if (config.CleanImages) { var images = Images.Process(config.ImageExtensions, config.ImageRecurse, config.ImageFolders); searchPieces = searchPieces.Concat(images); } var xamlFiles = XamlFiles.FindXamlFiles(config.RootFolder); searchPieces = XamlFiles.Search(xamlFiles, searchPieces); if (config.ImageSearchInResources && config.CleanImages && config.CleanLocalisations) { searchPieces = XamlKeys.SearchLocalisationValues(config.LocalisationResources, searchPieces); } if (config.CleanLocalisations) { PrintResult(searchPieces, SearchContentType.ResourceID, "Resources with not match in XAML files", "No used resources :)"); } if (config.CleanStyles) { PrintResult(searchPieces, SearchContentType.BasedOnStyle | SearchContentType.StyleKey, "Styles with no match in XAML files", "No used styles :)"); } if (config.CleanImages) { PrintResult(searchPieces, SearchContentType.Image, "Images with no match in XAML files", "No used images :)"); } if (config.Beep) { Console.Beep(); } return (int)ExitCode.Success; }
private static RunConfig ParseArguments(string[] Args) { var config = new RunConfig(); config.Port = -1; config.Ssl = false; var properties = new Dictionary <string, string>(); try { for (var i = 0; i < Args.Length; i++) { switch (Args[i]) { case "-p": if (config.Port != -1) { PrintUsageAndDie(); } try { config.Port = int.Parse(Args[i + 1]); if (config.Port < 1 || config.Port > 65536) { PrintUsageAndDie(); } } catch (FormatException) { PrintUsageAndDie(); } i++; break; case "-s": config.Ssl = true; break; case "-f": if (config.Executor != null) { PrintUsageAndDie(); } config.Executor = new ADOProviderFactoryExecutor(Args[i + 1], properties); i++; break; case "-r": if (config.Executor != null) { PrintUsageAndDie(); } config.Executor = new ADOReflectionExecutor(Args[i + 1], Args[i + 2], properties); i += 2; break; case "-P": properties[Args[i + 1]] = Args[i + 2]; i += 2; break; } } } catch (IndexOutOfRangeException) { PrintUsageAndDie(); } if (config.Port == -1) { config.Port = 1995; } if (config.Executor == null) { PrintUsageAndDie(); } return(config); }
public Estimator Estimator(RunConfig config) => new Estimator(config: config);
public static int Main(string[] args) { Console.WriteLine("UXLR"); Console.WriteLine(" \"Clean up your room\" - your Mom"); var config = new RunConfig(); for (var count = 0; count < args.Length - 1; count++) { if (args[count].Equals("/R", StringComparison.OrdinalIgnoreCase)) { count++; config.RootFolder = args[count]; continue; } if (args[count].Equals("/B", StringComparison.OrdinalIgnoreCase)) { config.Beep = true; continue; } if (args[count].Equals("/L", StringComparison.OrdinalIgnoreCase)) { count++; config.LocalisationResources = args[count].Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries); config.CleanLocalisations = true; continue; } if (args[count].Equals("/S", StringComparison.OrdinalIgnoreCase)) { count++; config.StyleResources = args[count].Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries); config.CleanStyles = true; continue; } if (args[count].Equals("/LI", StringComparison.OrdinalIgnoreCase)) { count++; config.LocalisationPropertiesToIgnore = args[count].Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries); continue; } if (args[count].Equals("/I", StringComparison.OrdinalIgnoreCase)) { count++; config.ImageFolders = args[count].Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries); config.CleanImages = true; continue; } if (args[count].Equals("/IE", StringComparison.OrdinalIgnoreCase)) { count++; config.ImageExtensions = args[count].Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries); continue; } if (args[count].Equals("/IR", StringComparison.OrdinalIgnoreCase)) { config.ImageRecurse = true; continue; } if (args[count].Equals("/IIR", StringComparison.OrdinalIgnoreCase)) { config.ImageSearchInResources = true; continue; } } if (string.IsNullOrWhiteSpace(config.RootFolder) || (!config.CleanLocalisations && !config.CleanStyles && !config.CleanImages)) { ShowHelp(); return((int)ExitCode.ShowHelp); } if (config.CleanLocalisations && (config.LocalisationResources == null || config.LocalisationResources.Length == 0)) { ShowHelp(); return((int)ExitCode.ShowHelp); } if (config.CleanStyles && (config.StyleResources == null || config.StyleResources.Length == 0)) { ShowHelp(); return((int)ExitCode.ShowHelp); } if (config.CleanImages && (config.ImageFolders == null || config.ImageFolders.Length == 0)) { ShowHelp(); return((int)ExitCode.ShowHelp); } if (config.ImageSearchInResources && (!config.CleanImages || !config.CleanLocalisations)) { ShowHelp(); return((int)ExitCode.ShowHelp); } try { return(Run(config)); } catch (UXLRException ex) { Console.WriteLine($"ERROR: {ex.Message}"); return((int)ex.ExitCode); } }
private static bool TryParseArguments(string[] args, out RunConfig runConfig) { throw new NotImplementedException(); }
public static int Main(string[] args) { Console.WriteLine("UXLR"); Console.WriteLine(" \"Clean up your room\" - your Mom"); var config = new RunConfig(); for (var count = 0; count < args.Length - 1; count++) { if (args[count].Equals("/R", StringComparison.OrdinalIgnoreCase)) { count++; config.RootFolder = args[count]; continue; } if (args[count].Equals("/B", StringComparison.OrdinalIgnoreCase)) { config.Beep = true; continue; } if (args[count].Equals("/L", StringComparison.OrdinalIgnoreCase)) { count++; config.LocalisationResources = args[count].Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries); config.CleanLocalisations = true; continue; } if (args[count].Equals("/S", StringComparison.OrdinalIgnoreCase)) { count++; config.StyleResources = args[count].Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries); config.CleanStyles = true; continue; } if (args[count].Equals("/LI", StringComparison.OrdinalIgnoreCase)) { count++; config.LocalisationPropertiesToIgnore = args[count].Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries); continue; } if (args[count].Equals("/I", StringComparison.OrdinalIgnoreCase)) { count++; config.ImageFolders = args[count].Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries); config.CleanImages = true; continue; } if (args[count].Equals("/IE", StringComparison.OrdinalIgnoreCase)) { count++; config.ImageExtensions = args[count].Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries); continue; } if (args[count].Equals("/IR", StringComparison.OrdinalIgnoreCase)) { config.ImageRecurse = true; continue; } if (args[count].Equals("/IIR", StringComparison.OrdinalIgnoreCase)) { config.ImageSearchInResources = true; continue; } } if (string.IsNullOrWhiteSpace(config.RootFolder) || (!config.CleanLocalisations && !config.CleanStyles && !config.CleanImages)) { ShowHelp(); return (int)ExitCode.ShowHelp; } if (config.CleanLocalisations && (config.LocalisationResources == null || config.LocalisationResources.Length == 0)) { ShowHelp(); return (int)ExitCode.ShowHelp; } if (config.CleanStyles && (config.StyleResources == null || config.StyleResources.Length == 0)) { ShowHelp(); return (int)ExitCode.ShowHelp; } if (config.CleanImages && (config.ImageFolders == null || config.ImageFolders.Length == 0)) { ShowHelp(); return (int)ExitCode.ShowHelp; } if (config.ImageSearchInResources && (!config.CleanImages || !config.CleanLocalisations)) { ShowHelp(); return (int)ExitCode.ShowHelp; } try { return Run(config); } catch (UXLRException ex) { Console.WriteLine($"ERROR: {ex.Message}"); return (int)ex.ExitCode; } }