嵌入式火鸟的呼叫限制

时间:2011-08-15 21:32:43

标签: c#-4.0 ado.net firebird firebird2.5 firebird-embedded

我已经下载并尝试通过firebird的.net提供程序(FirebirdSql.Data.FirebirdClient.dll)在.net / mono环境中使用嵌入式firebird(本机fbembed.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 ...在原生fbembed.dll目录中没有触及.config文件]

将最终调用方法(即Main方法)带入包含fbembed.dll和.net提供程序FirebirdSql.Data.FirebirdClient.dll

的目录时,此问题立即消失

1 个答案:

答案 0 :(得分:1)

在连接字符串(或FbConnectionStringBuilder类)中使用ClientLibrary参数,将ADO.NET提供程序指向fbembed.dll所在的位置。