簡體   English   中英

從ASP.NET 4網站項目遷移到Visual Studio 2010中的Web應用程序項目是否導致所有控件引發錯誤?

[英]Migrating from ASP.NET 4 website project to web application project in Visual Studio 2010 Causing all controls to throw error?

我最近將VS2010網站項目從.NET 3.5更新到了4.0。 網站項目中的一切工作正常。 今天,我決定將網站遷移到Web應用程序項目,因為我了解到這是在.NET中工作的最佳方法。 我將所有類文件拆分到一個單獨的類庫中,並將所有其他內容復制到新項目中。 然后,我更新了所有引用和web.config。

當我建立類庫時,一切都很好。

當我嘗試構建/調試Web應用程序項目時,就會發生問題。 它的行為就像所有控件都丟失了一樣,並且還引發了一些關於我在母版頁中具有的公共屬性的編譯錯誤。

控制錯誤:

“名稱'INSERT CONTROL NAME HERE'在當前上下文中不存在”

母版頁錯誤:

'System.Web.UI.MasterPage'不包含定義。...

它為我整個解決方案中的每個控件和母版頁屬性提供了這些錯誤。

我注意到,當我向該項目添加新的web.form時,除了.aspx和.aspx.cs文件之外,它還添加了filename.aspx.designer.cs文件。 我的現有文件沒有這些額外的文件,因為它們是在其他.NET版本中創建的。

有人對如何克服這些問題有想法嗎?

更新:似乎我缺少需要右鍵單擊新應用程序文件夾並選擇“轉換為Web應用程序”的步驟。 我只是這樣做了,似乎要好一些...

現在,它使單引號內的立即數令人窒息:

<div class='<asp:Literal ID="CssClassLiteral" runat="server"></asp:Literal>'>

進行轉換時,它沒有看到此文字...上面的有效代碼還是我應該以其他方式實現該功能?

是的-網站項目和Visual Studio中的Web應用程序項目之間的主要區別之一是Web應用程序項目為每個頁面/用戶控件定義了designer.cs文件。

因此,假設您在一個網站中的網頁后面有一個代碼:

Default.aspx
Default.aspx.cs

在Web應用程序中,現在需要設計器:

Default.aspx
Default.aspx.designer.cs
Default.aspx.cs

設計器文件是自動生成的,但是您可能需要“觸摸”每個頁面才能生成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM