我有一個開始使用WebForms的Web應用程序。我們一直在穩步地將每個頁面轉換爲使用ASP.NET MVC,而我們終於完成了完全移除所有WebForms依賴關係的工作。如何從MVC應用程序中刪除WebForms依賴關係
是否有任何依賴項會被烘焙到WebForms項目中,但是如果我們只使用MVC頁面可以將其刪除?
(我發現一個帖子在談論如何刪除WebForms view engine,但我認爲在談論的MVC的.ascx基於視圖渲染,這是我們不能完全消除呢。)
我有一個開始使用WebForms的Web應用程序。我們一直在穩步地將每個頁面轉換爲使用ASP.NET MVC,而我們終於完成了完全移除所有WebForms依賴關係的工作。如何從MVC應用程序中刪除WebForms依賴關係
是否有任何依賴項會被烘焙到WebForms項目中,但是如果我們只使用MVC頁面可以將其刪除?
(我發現一個帖子在談論如何刪除WebForms view engine,但我認爲在談論的MVC的.ascx基於視圖渲染,這是我們不能完全消除呢。)
如何從一個MVC應用程序中刪除的WebForms依賴
很簡單,3個步驟:
按Ctrl + F爲System.Web.UI
在您的整個解決方案。如果您發現超過0個事件,您仍然有遺留代碼。刪除它們。作爲這種刪除的結果,你的項目不會編譯=>修復編譯時錯誤。修復編譯時錯誤並不意味着什麼。在運行時,您可能仍然會在視圖中留下一些服務器端控件的毛刺。
Ctrl + F對於runat="server"
在您的整個解決方案。如果您在內容佔位符以外的地方發現的內容超過0個,則仍然有舊代碼。
Ctrl + F對於您的整個解決方案中的HttpContext.Current
。如果您發現超過0個事件,您仍然有遺留代碼。
但是,將經典ASP.NET應用程序移植到ASP.NET MVC的正確方法並不是通過就地更換。你肯定會忘記一些東西。正確的做法是從頭開始。通過在Visual Studio中使用Create New ASP.NET MVC 3應用程序嚮導並逐步遷移代碼和視圖。
假設我可以確定我已經刪除了所有依賴於UI控件的代碼,那麼是否還有其他可能忘記刪除的代碼?例如,WebForms特定的程序集或Web.Config文件的某些部分? – StriplingWarrior 2012-07-10 23:34:45
我想不出任何其他特定的WebForms。即使有一些彙編引用留下,如果你不在代碼中使用它們,這也不是問題。 – 2012-07-11 05:28:16
如果包含您擁有的依賴關係列表,它可能會有所幫助。 – 2012-07-10 20:27:37