未能負載檔案或程式集“Oracle.DataAccess”或它的某一個依賴項。試圖載入格式不正確的程式。

來源:互聯網
上載者:User

標籤:

  上一篇文章說到了DLL引用問題,主要是說的程式中如果使用過了反射,則反射建立對象的dll必須放在web應用程式的bin目錄裡。今天又遇到了一個類 似的問題,mvc3的應用程式,發布到iis上時,報:”未能負載檔案或程式集“Oracle.DataAccess”或它的某一個依賴項。試圖載入格式 不正確的程式。“。原因很簡單,因為我發的時候,我項目中的oracle提供的asp.net訪問oralcle資料庫的這個 Oracle.DataAccess.dll的本地複製沒有設定為true(在項目引用裡找到該引用,右鍵屬性裡有這個”本地複製").所有發布的時候, 它不會自動複製到bin目錄裡。從而出現了s上述未能載入的錯誤。好吧!既然這樣,那我要麼該項目中該引用屬性,要麼就直接把那個dll複製到發布在服務 器上的bin目錄裡吧。我複製進去後,問題又來了,還是暴未能載入一個引用項。後來一想我iis所在的伺服器是64的,而我的  odp.net是裝的 32.所以對應的 Oracle.DataAccess.dll也應該是32位的,這裡涉及iis的配置了。
     dll有了,32位的,系統是64位的。這個在iis裡有一個設定如下如:

先看看項目使用的應用程式集區是哪一個:
 

然後去應用程式集區去配置


設定啟用32位應用程式 為true
 
OK搞定。再瀏覽 一切正常。

[

這裡還記錄下MVC3應用程式在iis7中的部署需要注意的地方:

1.添加MVC解析 

 

首先確保ASP.NET MVC3已安裝好,然後檢查網站的處理常式映射,看是否存在下列映射:

ExtensionlessUrlHandler-Integrated-4.0

ExtensionlessUrlHandler-ISAPI-4.0_32bit

ExtensionlessUrlHandler-ISAPI-4.0_64bit

如果映射存在,請檢查應用程式是否分配給了.NET Framework4.0的應用程式集區。

如果映射不存在,你可以以管理員運行下面的命令註冊:

32位機器:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

64位機器:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

 

 

 2.然後檢查 bin目錄裡是否有System.Web.Mvc。dll.沒有的話,拷進來,或者是按上面說的方法去重建下項目。

3.ASP.NET版本選擇4.0.30196;

]

[轉]:http://www.cnblogs.com/joey0210/archive/2012/09/29/2708420.html

 

未能負載檔案或程式集“Oracle.DataAccess”或它的某一個依賴項。試圖載入格式不正確的程式。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.