使用環境:
.NET Framework 2.0 + Microsoft Windows Server 2003 SP1 + IIS6.0
使用過程:
發布網站到一個文件夾(名稱為WebSite)下,在IIS6.0中設置一個虛擬目錄(名稱為WebSite),然后將其“本地路徑”屬性指向到發布的那個文件夾。
在 ASP.NET 2.0 的項目中編譯、運行都是成功的,但是按上述情況設置后,訪問網站出現以下兩個錯誤。在網上查了一下資料,得到的解決方法。現將它們收集整理出來。
遇見的錯誤一:
配置錯誤
說明: 在處理向該請求提供服務所需的配置文件時出錯。請檢查下面的特定錯誤詳細信息并適當地修改配置文件。 分析器錯誤信息: 在應用程序級別之外使用注冊為 allowDefinition='MachineToApplication' 的節是錯誤的。如果在 IIS 中沒有將虛擬目錄配置為應用程序,則可能導致此錯誤。
解決方法:[1]
需要將在IIS6.0 將那個虛擬目錄設置成為應用程序。
步驟如下:
(1)打開IIS 6.0
(2)選擇“默認Web站點”。
(3)選擇那個虛擬目錄并用右鍵打開其屬性頁
(4) 選擇“虛擬目錄”選擇項卡
(5)在該選項卡中的“應用程序設置”屬性旁邊單擊第一項的“創建”,“應用程序名”屬性
的值由灰色變成了白色,并自動填寫了它的屬性值。
以上步驟就把該虛擬目錄設置成為應用程序。
遇見的錯誤二:
編譯錯誤
說明: 在編譯向該請求提供服務所需資源的過程中出現錯誤。請檢查下列特定錯誤詳細信息并適當地修改源代碼。
編譯器錯誤信息: CS0016: 未能寫入輸出文件“c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\website\2204cb73\26c77319\App_GlobalResources.mcbv6w-k.dll”--“拒絕訪問。 ”
源錯誤:
[沒有相關的源行]
源文件: 行: 0
顯示詳細的編譯器輸出:
.......(省略)
Microsoft (R) Visual C# 2005 編譯器 版本 8.00.50727.42
用于 Microsoft (R) Windows (R) 2005 Framework 版本 2.0.50727
版權所有 (C) Microsoft Corporation 2001-2005。保留所有權利。
error CS0016: 未能寫入輸出文件“c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\website\2204cb73\26c77319\App_GlobalResources.mcbv6w-k.dll”--“拒絕訪問。 ”
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.42
解決方法:[2]
給系統盤的 windows/temp 目錄設置權限。
解決步驟:
(1)打開系統盤下windows/temp 目錄。
(2)右鍵單擊該目錄,并選擇屬性。
(3)選擇“安全”選擇項卡,給用戶Network service(如果是win2000則是asp.net用戶)勾上部分權限。具體為:
1.讀取和運行 2.列出文件夾目錄 3. 讀取。(如果還是報該錯誤,就再賦其他幾項權限。: ) )
參考資料:
[1] http://nt.discuz.net/showtopic.aspx?topicid=2735&page=end
[2] http://www.cnblogs.com/lingyun_k/archive/2006/06/02/415494.html
原文地址:http://blog.csdn.net/scucj/archive/2006/12/26/1462932.aspx