2011-05-25 66 views
1

我正在開始使用ASP.Net MVC 1並已升級到ASP.Net MVC 3的項目。這是我的理解,如果我我正在IIS 7上運行我的ASP.NET MVC 3應用程序,使用不再需要Default.aspx文件的集成管道。我已刪除從項目文件和物理刪除它不過之後我得到每次我試圖在Release模式編譯時出現以下錯誤:無法從Asp.net MVC 3中刪除Default.aspx應用

描述:無法加載類型「ProjectName.Default」。

文件:Default.aspx的

我已經證實沒有在我的項目文件中沒有ProjectName.Default或Default.aspx的實例。我甚至在項目中的所有文件中都進行了grep搜索,以查找任何提及這些名稱的內容,但仍然沒有發現任何內容。我需要做什麼才能從我的ASP.Net MVC 3應用程序中移除Default.aspx,並讓它在發佈模式下編譯。順便說一下,它在調試模式下編譯得很好。

+1

它似乎仍然掛在該文件(類)上。是否有引用該類的編譯代碼的任何部分?嘗試清理版本,刪除發佈位置中的所有文件,然後重新發布。 – Jay 2011-05-25 21:12:34

+0

我恢復了刪除該文件,右鍵單擊Default類並選擇查找用法。它發現的唯一情況是Default.aspx文件本身。此外,我可以重命名類,只更新Default.aspx與新的類名,並在發佈模式編譯就好了。我甚至可以重命名aspx文件,並且它沒有編譯問題。但是,即使在將Default更改爲Test以使其在發佈模式下進行編譯之後,當我將其從項目中排除時,也無法在發佈模式下進行構建。我已經運行Build> Clean Solution,但仍然沒有運氣。 – Blegger 2011-05-25 21:57:53

回答

2

從這裏列出的調試,你可能有一個編譯代碼的緩存版本。雖然Visual Studio將文件後面的代碼構建到單個DLL中,但ASP.NET還將每個aspx文件編譯爲DLL(取決於您如何配置它,可能會有變化)。這些DLL位於%WINDIR%\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files,請注意,該目錄對.Net版本敏感,可能在2.0或4.0版本,它也在某種程度上取決於位的性能,因爲在Framework64中有類似的目錄。

0

我試圖清理我的解決方案,刪除項目的臨時文件,刪除所有我能想到的剩餘殘餘物。不幸的是,這一切都沒有奏效,所以我必須採取暴力手段並簽出我的項目的新副本。完成此操作後,我不再在構建已刪除Default.aspx的新副本時發生錯誤。不幸的是,這個解決方案並沒有提供任何有關Visual Studio剩餘文件的信息。