public ConfiguratorForm(IExecutor exec) { this.exec = exec ?? throw new ArgumentNullException(nameof(exec)); extcfg = new Lazy <IExtCfg>(() => new FilterLineControl(this, exec)); caller = new Caller(exec.Config.SlnDir); pkgVer = new PackageInfo(exec); confFormater = new SimpleConfFormater(exec); InitializeComponent(); updaterInitName = tabUpdating.Text; Text = GetVersionInfo(); projectItems.Browse = projectItems.OpenUrl = (string url) => url.OpenUrl(); projectItems.NamespaceValidate = (string ns) => DDNS.IsValidNS(ns?.Trim()); ShowFilterPanel(); txtBuildInfo.Text = GetBuildInfo(); RenderSlnFiles(); comboBoxSln.SelectedIndex = 0; storage = new CfgStorage(exec, comboBoxStorage); storage.UpdateItem(); projectItems.Set(null); // TODO: this only when no projects in solution and only when initial start }