Asp.net
允許預編譯的 Visual Studio 網頁可更新與不可更新有什麼區別?
我已經使用預設的“允許此預編譯站點可更新”多次建構了一個網站,但是在最近的編譯中,該網站非常損壞。在玩弄了 .dll(在 bin 中刪除和替換它們)之後,我注意到網站的某些部分又開始工作了,但是如果我將所有原始 .dll 放在網站中,就會損壞。
我正在使用帶有幾個 Ajax Web 擴展的 aspx 頁面。這些是最近添加的,可能是問題的根源。我取消選中“允許此預編譯站點可更新”,它在 bin 中添加了各種額外編譯的程式碼文件,網站的所有問題都消失了……這是怎麼回事?有什麼區別?
我更新網站的方式似乎也沒有任何區別,只是每次都從 Visual Studio 直接發布。
任何見解將不勝感激。
取消選中“允許此預編譯站點可更新”會編譯 .Aspx 頁面,而不僅僅是程式碼文件 (.VB/.CS)。選中它允許您在部署 .Aspx 文件後對其進行某些更改,而無需重新編譯(例如 = 移動控制項的位置或添加一些額外的 HTML 標記)。
在閱讀了您對部署問題的描述後,錯誤似乎更有可能是因為 IIS 需要刷新應用程序池。在低端 VPS 上,如果您有這種奢侈,有時反彈(重新啟動)它是有意義的。
有關站點預編譯的更多資訊,請閱讀以下 MSDN 文章。
<http://msdn.microsoft.com/en-us/library/399f057w(v=vs.80).aspx>
<http://msdn.microsoft.com/en-us/library/ms247286(v=vs.80).aspx>