2

我相信我完全理解了Visual Studio 2005的網站模型與完全在VS2005 SP1中提供的Web應用程序項目模型之間的區別 - 但我遇到了一個令人困惑的事情:爲什麼VS2005中的Web應用程序項目提供了「轉換爲Web應用程序」菜單選項

我有一個Web應用程序項目我寫的(它與編譯projectname.dll一個bin文件夾和太引用的.dll等)。但我只注意到如果在解決方案資源管理器中右鍵單擊該項目,則會顯示一個名爲「轉換爲Web應用程序」的菜單項)。這對我來說毫無意義。

我將這個項目與VS2005中的「網站」解決方案進行比較,並考慮將其轉換爲Web應用程序項目。奇怪的是,解決方案資源管理器沒有提供任何與「轉換爲Web應用程序」相關的內容,就像人們認爲的可能和/或適當的方式。

我得出結論,沒有什麼可以幫助自動將「網站」結構更改爲適當的「Web應用程序項目」。我認爲這一切都必須手工完成。諸如將App_Code中的文件重構爲一個或多個類庫項目等任務需要手動完成。

我意識到有很多關於歷史和差異的文章,但有人可以解釋爲什麼「轉換爲網絡應用程序」的提議似乎是在「錯誤的」模型中做出的 - 並且確認轉換是手動的。

回答

2

轉換向導做了一個體面的工作 - 這個過程遠非嚴格手動 - 但您仍然要花費大量的時間從網站轉移到Web應用程序模型。

的「轉換爲Web應用程序」爲aspx頁面上下文菜單選項生成myclass.designer.cs文件,它關係到在標記定義回代碼隱藏類控制,允許智能感知,編譯時間驗證,並其他事情。

在項目文件上執行此操作應該爲項目中的所有aspx生成設計器文件,並且我相信還會創建一些默認的應用程序設置,例如未在網站項目中定義的程序集名稱等。輸出是源,而不是程序集。

+0

在閱讀Scott Guthrie的教程和你的回答之後,我想我更清楚爲什麼現有的Web應用程序會提供這個「轉換爲Web應用程序」。至於爲什麼網站模型沒有它,我猜測,當這個模型被放入到最初的VS2005產品中時,他們並不知道他們忽視了項目文件模型,並因此忽略了「預覽」和SP1。 我懷疑你提到的「轉換向導」是用於VS2003的web應用程序VS2005的web應用程序。我不知道任何轉換向導在VS2005網站模型上運行。我在哪裏可以找到? – 2009-11-12 21:09:43

1

我會猜測你寫的'web應用程序'沒有從正確的vsproj文件開始。如果您引入的項目沒有正確的文件系統方案.aspx,aspx.cs,aspx.designer.cs,那麼Visual Studio會假定您正在嘗試創建一個「Web應用程序」併爲您提供該轉換特徵。

早在2005年,Scott Guthrie就將網站項目轉換爲Web應用程序項目做了一次嘗試。這裏是關於從網站項目遷移到Web應用程序項目的the section

希望這有助於一些。

+0

謝謝克里斯。我剛剛學習了斯科特的教程,這很好,很有幫助。我99%肯定我開始使用.vsproj文件。我內部只有一個default.aspx文件,並且它已經在其附近嵌套了default.aspx.designer.cs。也許「轉換爲網絡應用」菜單項總是可用的(儘管目前不需要)。唯一的其他解釋可能是我有2個HTTPHandler.ashx文件(每個文件都帶有.ashx.cs伴侶,但都沒有.ashx.designer.cs)。這是一個猜測,因爲我懷疑沒有這樣的事情。 – 2009-11-12 21:02:41

相關問題