Это на самом деле заставило меня немного сумасшедшим. В конце я исправил это следующим образом:
bin
. SharedConfiguration
внутри общего проекта. Очень сложной задачей было использование Open Mapped
ExeConfiguration (), и получить путь к исполняемому каталогу (включая bin и без файла: // перед ним). SharedConfiguration.instance.AppSettings.Settings["CubilisEntryPointUrl"].Value
. (я не могу использовать SharedConfiguration.instance.AppSettings["CubilisEntryPointUrl"]
непосредственно из-за этой проблемы )
.
public static class SharedConfiguration
{
public static readonly Configuration instance = GetConfiguration("Shared.config");
private static Configuration GetConfiguration(string configFileName)
{
ExeConfigurationFileMap exeConfigurationFileMap = new ExeConfigurationFileMap();
Uri uri = new Uri(Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase));
exeConfigurationFileMap.ExeConfigFilename = Path.Combine(uri.LocalPath, configFileName);
return ConfigurationManager.OpenMappedExeConfiguration(exeConfigurationFileMap, ConfigurationUserLevel.None);
}
}
Раньше я получал обычные Swing Exception
без отслеживаемой трассировки стека. Это потому, что я нарушал правила параллелизма в Swing. Этот SO ответ развивает: SwingWorker ProgressBar . По сути, убедитесь, что весь ваш код Swing вызывается в потоке рассылки событий.