2010-05-26 60 views
7

當我正在處理一個asp.net/c#項目時,我遇到了foobar.aspx.designer.cs,它會自動生成它的內容。例如,當我更改代碼/設計器時,designer.cs會自動更新其內容。ASP.NET自動生成aspx.designer.cs關閉?

由於我是一個控制傢伙,我想保持自己的代碼。我不滿意我不需要的評論的矯枉過正。像:

/// <summary> 
    /// Form1 control. 
    /// </summary> 
    /// <remarks> 
    /// Auto-generated field. 
    /// To modify move field declaration from designer file to code-behind file. 
    /// </remarks> 
    protected global::System.Web.UI.HtmlControls.HtmlForm Form1; 

雖然我想看到以下內容:

protected global::System.Web.UI.HtmlControls.HtmlForm Form1; 
    protected global::System.Web.UI.WebControls.Button Button3; 
    etc, etc 

(不介意命名着,當然我給它一些區別nameing)

如何解決這個問題?我檢查了谷歌在這一個,但無法很快找到答案...

+0

那麼,你總是可以降級到VS2003和ASP.NET 1.1來擺脫.designer.cs文件。爲什麼你想這樣做超出了我的想象。它不像生成文件中的多餘註釋(您甚至不應該讀取它)會對已編譯的應用程序造成任何不同。 – 2010-05-27 06:28:08

+0

但它可能會干擾任何文檔規則... – Joris 2010-05-27 07:31:41

+0

是的,您可以關閉designer.cs文件。這是如何: http://stackoverflow.com/questions/13867779/how-can-i-remove-asp-net-designer-cs-files/42374300#42374300 – Stokely 2017-02-21 17:51:45

回答

1

你可以閱讀的評論,他們告訴你該怎麼做。

將聲明移至代碼隱藏並刪除設計器文件。

但我必須做出一個觀察:

這種關注,特別是在試圖撤消VS正顯示出你掩蓋學位天真和缺乏經驗的善良的努力支出的表達。

也許你的時間會更好用在編碼上? ;-)

+0

但是,然後,例如,當我添加另一個文本框,會不會創建設計器文件? – Joris 2010-05-27 04:43:36

+0

我認爲@code詩人的意思是你完全停止在ASPX(標記)中添加控件。只通過代碼後面添加控件。然後,不會再創建設計器文件,因爲您再也不會觸碰您的標記文件。 – scherand 2010-05-27 05:47:15

+1

@喬利斯 - 好的,下定決心;你是一個想要控制他的標記和代碼隱藏的控制怪物,或者你是一個典型的誰喜歡偶爾拖動控件從工具箱到* DESIGNER *? ;-) – 2010-05-27 08:34:37

1

我不確定您是否可以禁用自動生成此文件。如果這樣做不是好主意......如果你真的想(需要)干涉它,我寧願尋找一種方法來改變它的行爲/格式。不幸的是,我無法提供解決方案/提示。不過,您可能需要查看「自定義工具」(用於代碼生成)的領域。

你爲什麼如此不滿意該文件的格式?我幾乎從來沒有看過它:)根據Scott Guthrie的說法,設計器文件已經在VS 2005中引入,它是「Visual Studio允許編寫'醜陋'代碼」的地方:Tutorial 2: Code-Behind with VS 2005 Web Application Projects

編輯:也許這篇文章由斯科特Hanselman可以有任何幫助嗎? T4 (Text Template Transformation Toolkit) Code Generation - Best Kept Visual Studio Secret