2011-05-17 175 views
4

我已經繼承了需要某些維護的Web應用程序,並且所做的所有更改都發生在global.asax文件中。有一點谷歌搜索告訴我,這是動態編譯的(現在沒有global.asax.cs代碼隱藏),所以我想我可以通過將新文件放入應用程序的根目錄來部署更改。原來在那裏沒有global.asax文件,但是/ bin文件夾中有一個App_global.asax.compiled文件。我無法在我的開發機器上的任何位置找到這個.compiled文件,所以假設它只能由IIS創建(而不是由asp.net開發服務器創建)。部署對global.asax的更改

作爲一個實驗,我停止了應用程序池,重命名.compiled文件,將global.asax複製到應用程序根文件夾並重新啓動應用程序池。幾分鐘後,.compiled不會從新的global.asax重新生成,因此我還原了這些更改。

如何讓我的更改進入實時應用程序?該應用程序相當大,有很多dll,所以我希望儘可能避免進行完整的部署。

感謝

回答

4

的App_global.asax.compiled文件的存在告訴我,你的ASP.NET項目配置爲編譯所有的東西而不離開如* X文件爲可編輯的。我甚至不確定.asax文件是否可以像.aspx文件那樣編輯。但你的是絕對編譯。

因此,我相信你將不得不重新編譯和重新部署整個事情。

3

檢查服務器上的bin文件夾,如果它包含App_Code.dll或類似的東西,那麼它可能以調試模式發佈,並且應該以預編譯模式發佈項目,並且只會上傳App_code.dll以用於global.asax中的更改生效

0

你不能直接部署Global.Asax。如果你想,那麼你可以通過編輯DLL來完成。如果你在MVC項目上,那麼你可以在DLL中看到mvcapplication.cs。我們可以應用更改。它爲我工作。我已經使用.net Reflector和Reflexil 2.1。 DESCRIPTION