我有一箇舊的.net 2005網站,它有一些asp頁面,並且存在訪問.net dll的對象引用問題。維護任務傳給我,原始開發人員無處可尋:(我開始在.Net已經所以我不真正掌握處理這個DLL地獄類問題。從傳統ASP頁面消耗.NET程序集
關於下面的箭頭是哪裏我encourtering的 「(0x80131500) 對象引用不設置到對象的實例。」
Set objCommon = Server.CreateObject("Wrapper.CommonFunctions")
Dim machineBuilding
--->>> If objCommon.IsMachineAccount(strLogin, machineBuilding) Then
我已經按照下列步驟操作:
- regasm/TBL /代碼庫mycomdll.dll
- GACUTIL /我mycomdll.dll
- 的mycomdll.dll複製到System32目錄
- 從控制檯執行issreset
- 如果您的DLL創建框架2.0中創建一個「dllhost.exe.config」文件system32目錄下,並把這樣的:
<?xml version="1.0"?> <configuration> <startup> <supportedRuntime version="v2.0.50727"/> <requiredRuntime version="v2.0.50727"/> </startup> </configuration>
6 .-重新啓動IIS與issreset命令
而且這些O nes:
- 項目屬性 a。在\應用程序\程序集信息 i。選中「使組件可見」。 b。在構建 我。選中「註冊Com Interop」
- 請勿簽名。
- 確保IUSR具有文件的完全權限。
- 通過iisreset重新啓動IIS以刷新所有緩存。
而且仍然不能成功運行該應用程序。還有什麼想法要檢查或做什麼?謝謝!
埃米爾
我有一個經典的ASP應用程序,它通過COM包裝器消耗了一個.NET程序集,而傳統的ASP代碼與您的類似。您是否驗證過strLogin和machineBuilding已初始化?你是否從另一個客戶端執行objCommon.IsMachineAccount來驗證調用本身沒有拋出錯誤? – Mayo 2010-08-12 12:35:28
謝謝梅奧。我嘗試附加到dllhost,並能夠通過asp代碼進行調試,是的,strLogin具有我的網絡ID值;機器大廈將從通話中收到價值。 因爲我們在生產服務器上有一個工作版本,所以我不認爲asp代碼有問題。但是,我需要讓我的本地源代碼正常工作,然後才能發出更改請求。 – Emirage 2010-08-13 01:31:10