ASP.NET錯(cuò)誤提示:未預(yù)編譯文件,因此不能請(qǐng)求該文件(has not been precompiled and can not be requested),如何解決?
![]() ![]() 請(qǐng)聯(lián)系點(diǎn)晴在線客服解決。 其他相關(guān)文檔1: 在使用aspnet_compiler預(yù)編譯網(wǎng)站時(shí),發(fā)生了如下錯(cuò)誤。 未預(yù)編譯文件“.aspx”,因此不能請(qǐng)求該文件。 引發(fā)原因:由于電腦上裝同時(shí)存在framework2.0 和 4.0,默認(rèn)情況下aspnet_compiler指向的是2.0下的,如果要把一個(gè)App編譯到運(yùn)行在asp.4.0網(wǎng)站下時(shí),就會(huì)出現(xiàn)此錯(cuò)誤。 解決:手動(dòng)切換到framework\4.0下,然后使用4.0版的aspnet_compiler解決。 其他相關(guān)文檔2: 昨天在一個(gè)ASP.NET MVC項(xiàng)目中,一個(gè)預(yù)編譯后的視圖訪問(wèn)時(shí)總是報(bào)錯(cuò): 未預(yù)編譯文件,因此不能請(qǐng)求該文件(The file has not been pre-compiled, and cannot be requested) 而對(duì)應(yīng)這個(gè)預(yù)編譯視圖的3個(gè)地方都正常: 1)內(nèi)容為“這是預(yù)編譯工具生成的標(biāo)記文件,不應(yīng)刪除!”的.cshtml占位文件正常存在 2)對(duì)應(yīng)的*.cshtml.7384d3d7.compiled文件正常 3)對(duì)應(yīng)的App_Web_*.cshtml.7384d3d7.dll文件正常 百思不得其解,折騰了半天。 后來(lái)實(shí)在沒(méi)辦法,放棄預(yù)編譯,改用動(dòng)態(tài)編譯。然后出現(xiàn)下面的錯(cuò)誤信息才讓人恍然大悟: System.IO.FileLoadException: 未能加載文件或程序集“System.Web.Mvc, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一個(gè)依賴項(xiàng)。 找到的程序集清單定義與程序集引用不匹配。 (異常來(lái)自 HRESULT:0x80131040) 這個(gè)項(xiàng)目用的是MVC 5.2.2,而出問(wèn)題的視圖中調(diào)用了一個(gè)依賴MVC 5.1的程序集。 有了這個(gè)準(zhǔn)確的錯(cuò)誤信息,問(wèn)題很輕松地就可以解決:在web.config中添加如下的配置: <dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-5.2.2.0" newVersion="5.2.2.0" /> dependentAssembly> 如果不是放棄預(yù)編譯,改用動(dòng)態(tài)編譯,做夢(mèng)也想不到是這個(gè)原因引起的“未預(yù)編譯文件,因此不能請(qǐng)求該文件”。 你說(shuō)這是不是ASP.NET中最誤導(dǎo)人的錯(cuò)誤提示? 該文章在 2018/9/4 22:42:26 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |