Плавание SQL является двойным согласно документация для SQLDbType.
К сожалению, вам потребуется либо сборка ImportEPDMAddin
, находящаяся в той же папке, что и ваш исполняемый файл, либо в папке .Net framework, связанной с вашей .Net framework. используются (например, C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727) или зарегистрированы в глобальном кэше сборок.
Единственный другой вариант: если вам известен путь к сборке, содержащей определяющий класс обработчика конфигурации, вы можете загрузить ее без ссылки примерно так:
//Class global
private Assembly configurationDefiningAssembly;
protected TConfig GetCustomConfig<TConfig>(string configDefiningAssemblyPath,
string configFilePath, string sectionName) where TConfig : ConfigurationSection
{
AppDomain.CurrentDomain.AssemblyResolve += new
ResolveEventHandler(ConfigResolveEventHandler);
configurationDefiningAssembly = Assembly.LoadFrom(configDefiningAssemblyPath);
var exeFileMap = new ExeConfigurationFileMap();
exeFileMap.ExeConfigFilename = configFilePath;
var customConfig = ConfigurationManager.OpenMappedExeConfiguration(exeFileMap,
ConfigurationUserLevel.None);
var returnConfig = customConfig.GetSection(sectionName) as TConfig;
AppDomain.CurrentDomain.AssemblyResolve -= ConfigResolveEventHandler;
return returnConfig;
}
protected Assembly ConfigResolveEventHandler(object sender, ResolveEventArgs args)
{
return configurationDefiningAssembly;
}
Убедитесь, что вы обработали событие AssemblyResolve, так как это без этого вызовет исключение.
Не могли бы вы убедиться, что пути зондирования правильно настроены в файле конфигурации вашего хост-приложения? Возможно, необходимая ссылка не загружается в вашем текущем домене приложения.
Вы удостоверились, что DLL загружается первой? Возможно, с помощью Assembly.LoadFile ("PATH")
?
Если вы не можете заставить классы в System.Configuration работать должным образом, вы всегда можете вернуться к использованию XmlDocument для ручного анализа файла конфигурации . Используйте XPath, чтобы упростить получение данных. Например (при условии, что указанная выше переменная пути):
var document = new XmlDocument();
document.Load(path);
var node = document.SelectSingleNode("configuration/importWorkflows/add[@name='KEY']");
// Do whatever with node