文章編號: 825791 - 上次校閱: 2007年1月17日 - 版次: 2.3

在 ASP.NET Web 應用程式中 PRB: CS0013 或 CS0016 編譯錯誤

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

徵狀

當您在 Web 瀏覽器中檢視 Microsoft ASP.NET 應用程式時,可能會收到下列錯誤訊息:

對於 Microsoft.NET Framework 1.1 版中,錯誤訊息為下列:
CS0016: 無法寫入輸出檔案 'c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\application1\c11b43f6\cf3ec03\rizcntet.dll'。目錄名稱無效。
.NET Framework 1.0 的錯誤訊息為下列:
寫入檔案 'C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\Temporary ASP.NET Files\application2\3fc72f26\eb731247\ev2bslce.dll' 的中繼資料 CS0013: 發生意外的錯誤。目錄名稱無效。

發生的原因

系統 TEMPTMP 變數指向不存在的資料夾。編譯器會產生暫存檔位置 TEMPTMP 變數指向之前將檔案複製到暫存 ASP.NET 檔案資料夾的資料夾中。但是,您重新啟動電腦時,被刪除系統變數會指向的資料夾。因此,編譯器無法產生暫存檔案。

解決方案

  1. 建立暫存資料夾之下 %Systemroot%,並再命名 Temp
  2. 授與 aspnet 使用者帳戶在.NET Framework 1.0 上,或者在 Temp 資料夾的完整權限 網路服務.NET Framework 1.1 中的使用者帳戶。
  3. 用滑鼠右鍵按一下 [我的電腦,然後按一下 [內容]。
  4. 在 [進階] 索引標籤上按一下 [環境變數]。
  5. 選取在 [系統變數 下, TEMP 變數,然後按一下 [編輯]。
  6. 型別 %SystemRoot% \TEMP 在 [變數值 方塊,然後再按一下 [確定]
  7. 重複步驟 5 和 6 以編輯 TMP 變數。按兩次 [確定]
  8. 按一下 [開始],然後按一下 [執行]。
  9. 若要重設網際網路資訊服務 (IIS),請在命令提示字元上鍵入 iisreset

    附註如果錯誤訊息本文的 < 徵狀 > 一節所述,仍然存在,重新啟動電腦。

其他相關資訊

重製行為的步驟

  1. 啟動 Microsoft Visual Studio.NET。
  2. 利用 Microsoft Visual C#.NET 或 Microsoft Visual Basic.NET 中建立新的 ASP.NET Web 應用程式專案,並再命名 CompileTest 專案。
  3. 在 [建置] 功能表上按一下 建置方案
  4. 用滑鼠右鍵按一下 [我的電腦,然後按一下 [內容]。
  5. 在 [進階] 索引標籤上按一下 [環境變數]。
  6. 選取 TEMP 變數下的 系統變數,然後按一下 [編輯]。
  7. 型別 %SystemRoot% \TEMP1 指向不存在的 TEMP1 資料夾,然後按一下 [確定] [變數值] 方塊中。
  8. 重複步驟 6 和 7 以編輯成指向不存在的 TEMP1 資料夾 TMP 變數。
  9. 按兩次 [確定]
  10. 要注意其中一個錯誤訊息本文 < 徵狀 > 一節中所提及請造訪下列 URL: http://localhost/CompileTest/WebForm1.aspx

?考

如需有關如何授與資料夾的權限的詳細資訊,請造訪下列 Microsoft 開發 o 人 h 員 ? 工 u 具 ? 網路 (MSDN) 網站]:
保障 ASP.NET 應用程式及 Web 服務的安全
http://msdn2.microsoft.com/en-us/library/aa302435.aspx (http://msdn2.microsoft.com/en-us/library/aa302435.aspx)

這篇文章中的資訊適用於:
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
關鍵字:?
kbmt kberrmsg kbcompiler kbwebforms kbdeployment kbprb KB825791 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:825791? (http://support.microsoft.com/kb/825791/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。