手上還有些ASP.NET專案仍在使用ODP.NET 9207,而我的工作機目前是Windows 2008 x64,很遺憾,這兩個傢伙不來電。為了繼續維護這些專案,我的折衷做法是另外掛了VM跑Windows 2003,把需要ODP.NET 9207的專案利到VM上開發、執行。

這幾天嚐試了新做法,將VM的ASP.NET資料夾分享出來,以工作機的VS2008開啟,cs檔案編修、更新都OK,更新完成直接連VM的IIS測試倒也還算順手。但有個問題:

Could not load file or assembly 'Oracle.DataAccess, Version=9.2.0.700, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. Failed to grant minimum permission requests. (Exception from HRESULT: 0x80131417)       

VS2008的錯誤訊息列出現上述訊息,而發生這個錯誤的結果是: 雖然可以編修cs檔,但無法Build Page或Build Web Site。由於VS2008無法編譯網頁程式,連帶就不認識ASPX中加入的Server Control,相關的Syntax檢查及Intellisense頓時失效,原本華麗的編輯環境因此退了色~~ 這不是VS2008! 這不是VS2008! 這不是VS2008! (地上打滾)

Google了一下,這是.NET Runtime對來自遠端機器的DLL檔案額外加了資安限制導致的問題。原則上調整.NET安全設定就可以輕鬆解決。

在網路上找到兩種設定方法: 加URL規則指定\\ IP_Address加入Strong Name規則

測試的結果,用URL指定\\ IP_Address的做法一直試不成功。於是我改成指定ODP.NET 9207的Strong Name,賦與Full Trust權限,重新啟動VS2008後,一切正常,YA!


Comments

# by 網頁設計

你的資料很多耶,要花時間看的。一方面也請你有空過來看看我們的<a href="http://www.eztrust.com.tw/html/about/index.aspx">網站設計</a>

Post a comment