2010-05-26 107 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