2012-10-30 90 views
3

我有一個Biztalk應用程序,該應用程序基本上是其他應用程序正在使用的架構的外殼。我現在想刪除這個應用程序,但我無法從BizTalk Server管理控制檯,當我右擊 - >刪除我得到的說,接着嘗試刪除/刪除資源/應用程序時無法加載文件或程序集

Could not load file or assembly <assembly_name>.dll or one of its dependencies. The system cannot find the path specified (mscorlib)

錯誤:

The system cannot find the path specified (Exception from HRESULT: 0x80070003)

所以我去從應用程序中卸下,並得到完全相同的錯誤。我在其他biztalk資源中刪除對它的所有引用,並且在嘗試刪除應用程序或資源時仍然出現相同的錯誤。我也注意到,在引用組件的修改Resouces對話框,這個流氓組件列爲依賴狀態未找到

奇怪的是,當信息來通過,這取決於流氓組裝的資源,仍然正常工作,並不會引發任何錯誤(儘管他們使用其顯示爲未找到組裝的組件)。

我已經確保檢查GAC並將程序集加載到它。

所以現在我要問:

  1. 其中Biztalk的實際上是尋找該組件?
  2. 有沒有一種方法可以強制刪除這個應用程序?
  3. 爲什麼它會在程序集未找到時試圖刪除它?
  4. 爲什麼它顯示爲未找到,但仍然工作?

謝謝。

+0

[此博客](http://pinhask.blogspot.com/2008/06/dependency-in-biztalk-assembly.html)可能會有幫助。另外,如果您還沒有這樣做(即不能遠程連接),您可以嘗試直接在您的一臺主機上運行BTS管理控制檯。 – StuartLC

+0

BTS管理控制檯正在我正在開發的開發箱上直接運行。我可以通過更新程序集版本並重新部署,然後將原始程序集移動到不同的應用程序來解決問題。但我仍然無法從biztalk管理控制檯中刪除程序集。我甚至嘗試了一些第三方工具(我相信BTZap)只是爲了得到相同的錯誤。 – Bensonius

回答

0

我認爲關鍵是「或其依賴之一」。如果它是一個依賴項,它可能使用標準的Windows機制來查找一個dll。它搜索當前目錄和windows目錄。 「

」Biztalk實際上在找這個組件嗎?「

看在BizTalk管理控制檯應用程序的「資源」部分。它顯示了一個包含程序集位置的列。

+0

我曾經遇到過這種情況。我的解決方案是構建一個具有相同名稱和標識符的新程序集,將其部署以替換缺少部分的程序集,然後將其刪除。 – Jay

0

我會停止所有主機實例/業務流程,然後從GAC卸載所有你的東西 - 如果消息其實還是通過隨後的東西中去,是仍然加載正在使用您的架構。