2012-07-10 76 views
1

我有一個開始使用WebForms的Web應用程序。我們一直在穩步地將每個頁面轉換爲使用ASP.NET MVC,而我們終於完成了完全移除所有WebForms依賴關係的工作。如何從MVC應用程序中刪除WebForms依賴關係

是否有任何依賴項會被烘焙到WebForms項目中,但是如果我們只使用MVC頁面可以將其刪除?

(我發現一個帖子在談論如何刪除WebForms view engine,但我認爲在談論的MVC的.ascx基於視圖渲染,這是我們不能完全消除呢。)

+2

如果包含您擁有的依賴關係列表,它可能會有所幫助。 – 2012-07-10 20:27:37

回答

1

如何從一個MVC應用程序中刪除的WebForms依賴

很簡單,3個步驟:

  1. 按Ctrl + FSystem.Web.UI在您的整個解決方案。如果您發現超過0個事件,您仍然有遺留代碼。刪除它們。作爲這種刪除的結果,你的項目不會編譯=>修復編譯時錯誤。修復編譯時錯誤並不意味着什麼。在運行時,您可能仍然會在視圖中留下一些服務器端控件的毛刺。

  2. Ctrl + F對於runat="server"在您的整個解決方案。如果您在內容佔位符以外的地方發現的內容超過0個,則仍然有舊代碼。

  3. Ctrl + F對於您的整個解決方案中的HttpContext.Current。如果您發現超過0個事件,您仍然有遺留代碼。

但是,將經典ASP.NET應用程序移植到ASP.NET MVC的正確方法並不是通過就地更換。你肯定會忘記一些東西。正確的做法是從頭開始。通過在Visual Studio中使用Create New ASP.NET MVC 3應用程序嚮導並逐步遷移代碼和視圖。

+0

假設我可以確定我已經刪除了所有依賴於UI控件的代碼,那麼是否還有其他可能忘記刪除的代碼?例如,WebForms特定的程序集或Web.Config文件的某些部分? – StriplingWarrior 2012-07-10 23:34:45

+0

我想不出任何其他特定的WebForms。即使有一些彙編引用留下,如果你不在代碼中使用它們,這也不是問題。 – 2012-07-11 05:28:16