編譯ASP.NET網站時,我一直在追尋一個神祕錯誤的兩天。錯誤是(非常有名的)CS0016:「無法寫入輸出文件[文件名] - 目錄無效」。CS0016:目錄無效錯誤
我發現經過兩天的調試,我的問題的原因是,NetworkService以某種方式沒有C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files 。我已經添加了「Everyone」文件夾的完全權限 - 但我仍然無法訪問http://localhost
,我可以看到從SysInternals使用進程監視器時,NetworkService帳戶在嘗試創建DLL文件時收到「NAME NOT FOUND」該目錄。我的解釋是,它沒有足夠的權利文件夾莫名其妙。
但是 - 當我啓動Visual Studio並附加一個調試器時,這些文件使用我的域用戶(JohnDoe作爲參考)進行編譯,並且出於某種原因,工作正常 - 就好像域用戶帳戶包含比我更多的權限無法給我的機器上的本地用戶 - 這讓我很困惑。
我對你們的兩個問題是:爲什麼當我將「Everyone」全部權限添加到文件夾時,NetworkService仍然沒有權限來創建需要的臨時文件?我的JohnDoe域用戶有哪些權限,我無法在我的計算機上授予本地用戶的權限?
它已經有完整的權利 – kerbou 2009-05-26 11:46:38
嗯,實際上我不確定,也許你應該試試這裏「http://support.microsoft.com/kb/825791/en-us」 – Galilyou 2009-05-26 12:09:50