[英]Where do I put classes when using Web Application project type of Visual Studio .NET instead of Website? (ASP.NET)
[英]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.