2009-07-15 24 views
0

如果創建ASP.NET Web站點項目並運行它,則會得到一個空白頁面。如果進入默認的CodeBehind文件,請添加到Page_Load方法throw new Exception();中,保存該文件並在瀏覽器中進行刷新(無需重新構建),服務器將自動重建項目,頁面將出錯。ASP.NET不會自動重建

我有一個項目,我現在正在刷新頁面不會導致項目被重建(使用新的aspx文件,但舊的DLL與他們一起使用)。這是什麼原因造成的,我該如何糾正?

+1

這兩個站點是否都使用VS自帶的開發Web服務器?在IIS中?一人一個? – 2009-07-15 12:43:01

+0

他們都使用ASP.NET開發服務器。 – 2009-07-15 12:53:59

+0

我建議您閱讀以瞭解網站和Web應用程序項目之間的差異:http://msdn.microsoft.com/en-us/library/aa730880(VS.80).aspx#wapp_topic5 – AaronS 2009-07-15 15:11:03

回答

1

這個新項目是一個web應用程序項目嗎?我相信你必須在看到變化之前真正構建它。

+0

我不知道是什麼一個「Web應用程序項目」是,但該項目創建爲「ASP.NET網站」。 – 2009-07-15 12:52:03

0

Web應用程序項目是一種獨立類型的項目,需要構建所有後臺代碼。生成的dll構建在bin文件夾下。代碼背後的代碼不會在執行中使用,如果您不想在已安裝的Web服務器上公開您的代碼,並確保執行速度更快(從不在運行時編譯),則可以採用這種方法。

當您將其創建爲「ASP.NET網站」時,它不是「Web應用程序項目」。

0

您正在使用網站模型。這些頁面將在您訪問它們時進行編譯。同一個解決方案中的類庫項目不會。因此,你爲什麼看到這種行爲。

默認情況下,ASPX,後臺代碼和App_Code源文件被編譯。如果您在解決方案中有單獨的項目(可能是BLL或DAL),則只需刷新瀏覽器即可更新這些項目。

因此,要糾正它,您可以在Visual Studio中進行適當的構建,或者您可以將要更改的類文件移動到App_Code中。就個人而言,我會堅持前者(實際上我從未使用網站選項 - 總是Web應用程序項目)。

0

只有在App_Code中的代碼會在其更改時自動重新編譯。如果您的代碼存在於其他任何地方,那麼它就是您在「編譯」時得到的預建DLL的一部分。

0

好的。你有'編輯和繼續'啓用? MSDN