2013年9月9日

Azure解決Could not load file or assembly 'ADODB, Version=7.0.3300.0, Culture=neutral

問題是這樣的,我把目前的ASP.NET 2.02的網站搬到Azure Virtual Machine

結果一執行網站,就出現下列錯誤

Could not load file or assembly 'ADODB, Version=7.0.3300.0, Culture=neutral

ADODB Location

上面的環境
1. OS:Windows Server 2008 R2 64 bit ,目前OS最低版本也只有2008
2. Feamwork: .NET 3.5

初步調查,我們的參考型別也不是本地檔案(BIN),而是GAC,於是到Azure Virtual Machine查看GAC目錄c:\windows\assembly,的確沒ADODB這元件。

經過G神得知是ADODB.DLL是Framework SDK的東西,那不想在Azure VM上安裝.net 2.0 SDK,使用以下替代方案:

  1. 在本地有ADODB.DLL的機器,將ADODB.DLL複製到Azure VM上,本地檔案目錄如下
    c:\program files\Microsoft.NET\Primary Interop Assemblies
  2. 安裝ADODB.DLL到GAC
    很簡單就把ADODB.DLL拉進去c:\windows\assembly ,就安裝了

另外Ajax extension 1.0也是遇到同樣問題,解法也是相同,如下

  1. 在本地有extension檔案,複製到Azure VM上,本地檔案目錄如下
    C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025
  2. 安裝System.Web.Extensions.Design.dll, System.Web.Extensions.dll到GAC

參考

Could not load file or assembly 'ADODB, Version=7.0.3300.0, Culture=neutral...

沒有留言:

張貼留言