2011-03-17 57 views
0

當我嘗試運行調用我創建的工作流程4活動的控制檯程序時,出現以下錯誤。請注意,從單元測試執行或嵌入其他工作流程時,工作流程編譯並運行時沒有問題。EnterpriseLibrary.Logging.Database程序集鏈接問題與工作流程

無法加載文件或組件 'Microsoft.Practices.EnterpriseLibrary.Logging.Database, 公鑰= 31bf3856ad364e35' 其依賴的或 之一。系統 找不到指定的文件。

我正在使用EnterpriseLibrary 5.0作爲日誌記錄和連接字符串。

我注意到路徑組件如下:

C:\ Program Files文件(x86)的\微軟 企業庫 5.0 \ BIN \ Microsoft.Practices.EnterpriseLibrary *

在大會

展望綁定日誌是 看到以下內容:

*大會粘結劑日誌條目(17/03/2011 @ 15點32分48秒)*

操作失敗。綁定結果:hr = 0x80070002。該系統找不到指定的文件。

大會經理裝入來源: C:\ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319 \ clr.dll 下可執行 Ç運行:\開發\工作\ EquinoxeAISManagementSystemWorkflow \ EquinoxeAISManagementSystemWorkflow.FeedManager \ BIN \調試\ EquinoxeAISManagementSystemWorkflow.FeedManager.vshost.exe ---詳細的錯誤日誌如下。

===預綁定狀態信息=== LOG:用戶= EQUINOXEAIS \ pmckee LOG: DisplayName的= Microsoft.Practices.EnterpriseLibrary.Logging.Database, 版本= 5.0.414.0,文化=中性, 公鑰= 31bf3856ad364e35 (完全指定的)LOG:應用平臺= 文件:/// C:/Development/Work/EquinoxeAISManagementSystemWorkflow/EquinoxeAISManagementSystemWorkflow.FeedManager/bin/Debug/ LOG:初始PrivatePath = NULL LOG: 動態基地= NULL日誌:緩存基地= 空日誌:AppName = EquinoxeAISManagementSystemWorkflow.FeedManager.vshost.exe 調用程序集: EquinoxeAISManagementSystemWorkflow.ActivityLibrary, Version = 1.0.0.0,Culture = neutral,

PublicKeyToken = null。

LOG:此綁定在默認加載 上下文中啓動。日誌:找不到應用程序 配置文件。 LOG:使用 主機配置文件:LOG:使用 機器配置文件 C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ config \ machine.config。 日誌:Post-policy reference: Microsoft.Practices.EnterpriseLibrary.Logging.Database, Version = 5.0.414。0,Culture = neutral, PublicKeyToken = 31bf3856ad364e35 LOG: GAC查找失敗。日誌: 試圖下載新的URL file:/// C:/Development/Work/EquinoxeAISManagementSystemWorkflow/EquinoxeAISManagementSystemWorkflow.FeedManager/bin/Debug/Microsoft.Practices.EnterpriseLibrary.Logging.Database.DLL。 日誌:試圖下載新的URL file:/// C:/Development/Work/EquinoxeAISManagementSystemWorkflow/EquinoxeAISManagementSystemWorkflow.FeedManager/bin/Debug/Microsoft.Practices.EnterpriseLibrary.Logging.Database/Microsoft.Practices.EnterpriseLibrary.Logging.Database .DLL。 日誌:試圖下載新的URL file:/// C:/Development/Work/EquinoxeAISManagementSystemWorkflow/EquinoxeAISManagementSystemWorkflow.FeedManager/bin/Debug/Microsoft.Practices.EnterpriseLibrary.Logging.Database.EXE。 日誌:試圖下載新的URL file:/// C:/Development/Work/EquinoxeAISManagementSystemWorkflow/EquinoxeAISManagementSystemWorkflow.FeedManager/bin/Debug/Microsoft.Practices.EnterpriseLibrary.Logging.Database/Microsoft.Practices.EnterpriseLibrary.Logging.Database 。可執行程序。 LOG:嘗試的所有探測URL和 失敗。

我曾嘗試以下解決此問題: - 設置「特殊版」爲False所有referanced EnterpriseLibrary assemplies - 重塑再次使用EnterpriseLibrary配置工具(和一次又一次的app.config :( - 刪除所有引用組件,並通過一個加回在一個

我會很感激,如果任何人有進一步的指針,以如何調試這個問題.....謝謝

回答

1

我!見三寶ssible問題...

  1. 您的應用程序支持x64(C:\Windows\Microsoft.NET\Framework64\),是Microsoft.Practices.EnterpriseLibrary.Logging.Database x86或x64? (從來沒有試圖這樣做,所以我不知道它是否可以完成)
  2. 這個文件被複制本地構建?它必須位於C:/Development/Work/[snip]/bin/Debug以便融合加載器找到它。 Fusion不會在每個目錄下查看。
  3. 它位於GAC中,但不在#2中提到的目錄中。 Fusion必須首先在安裝目錄下找到程序集,然後才能探測程序集GAC,IIRC *。

*此行爲取決於如何在運行時使用部分綁定加載程序集,即不使用程序集的強名稱。

+0

感謝resoponse @Will。你在哪裏正確的問題是與Logging.Database有關。在所有工作後,我刪除了這個組件。奇怪的是,我仍然在使用文本文件記錄器沒有問題。以太的方式我會繞圈並在我滿足我目前的最後期限並重新發布我的發現後重新訪問。再次感謝.. – 2011-03-28 09:11:05