2008年12月11日 星期四

使用XmlSerializer時出現無法產生暫存類別的錯誤!

在Asp.Net使用XmlSerializer時,如果網站應用程式的身分識別,使用Network Service時,預設情況會產生下列錯誤:
無法產生暫存類別 (result=1)。
error CS2001: 找不到原始程式檔 'C:\WINDOWS\TEMP\uacaqkr_.0.cs'
error CS2008: 未指定輸入
產生錯誤原因:因為.net framework需要使用到,Windows\Temp產生暫存類別,但預設權限不足產生的錯誤。
解決方法:將網站應用程式的身分識別提升為『本機系統』或是調整Windows\Temp的Network service權限為允許寫入。