2011-08-15 54 views
0

我已經下載並試圖通過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文件目錄]

此問題立即消失除了將最終調用方法(即主要方法)到該目錄中包含fbembed.dll和.NET提供FirebirdSql.Data.FirebirdClient.dll

回答

1

使用ClientLibrary連接字符串(或FbConnectionStringBuilder類)中的參數,指向ADO.NET提供程序,指向fbembed.dll的位置。