Я скачал и пытаюсь использовать встроенный firebird (нативный fbembed.dll и его помощники) в среде .net / mono через .net-провайдера firebird (FirebirdSql.Data.FirebirdClient.dll).
Основная проблема Я застрял в том, что встроенные компоненты Firebird, похоже, требуют, чтобы все было в одном каталоге в одном проекте (вплоть до кода точки входа приложения). В тот момент, когда я пытаюсь создать некоторый код dll управляемой библиотеки, зависящий (и расположенный в том же каталоге, что и) от собственного поставщика fbembed.dll и .net, а затем вызываю эту dll управляемой библиотеки из управляемого кода, находящегося в другом месте (другой проект в другом каталоге). ) .... все взрывается, говоря, что fbembed.dll не может быть найден ... даже когда код управляемой библиотеки, который фактически вызывает fbembedd.dll через провайдера, находится в том же каталоге, что и fbembed.dll.
IN SHORT ... требование быть «в том же каталоге» не только распространяется на непосредственно вызывающий код, но и на весь стек вызовов, достигающий самой точки входа.
[Примечание: я пробовал это с Visual C # 2010 .net 4.0, Monodevelop 2.4, mono 2.8, mono 2.10, .net поставщик Firebird версии 2.6.5 ... без касания файла .config в собственном каталоге fbembed.dll ]
Эта проблема немедленно исчезает после переноса окончательного метода вызова (т.е. основного метода) в каталог, содержащий fbembed.dll и поставщика .net FirebirdSql.Data.FirebirdClient.dll