有时,当我编辑页面或控件时,.designer文件随着我在页面上添加的新控件而停止更新。我不确定是什么原因导致这种情况发生,但我想知道是否有任何方法强制Visual Studio重新生成.designer文件。我使用Visual Studio 2008

编辑:对不起,我应该注意到我已经试过了:

关闭和重新打开所有文件和Visual Studio 更改页面上的runat="server"控件 删除并重新添加页面指令


当前回答

我知道我来晚了,但我想,如果在尝试了@Glenn Slaven的公认答案和@Espo目前评分最高的答案后,你仍然不走运,下面的答案可能会为一些人省去一些麻烦。

用户控件(.ascx)总是停止自动生成。我发现在我的用户控件中使用其他用户控件的实例中,它破坏了自动生成。

我提出的解决方案是使用我们都知道的技巧,当使用来自外部源的CSS类时,让智能感知在用户控件或皮肤文件中工作。现在我不只是引用CSS文件,而是注册我需要的其他用户控件。它看起来是这样的:

<% If False Then %>
<%@ Register TagPrefix="uc" TagName="Title" Src="~/controls/title.ascx" %>
<link rel="stylesheet" type="text/css" href="../css/common.css"  />
<% End If %>

之后,保存文件,这将提示自动生成程序重新生成,然后我就重新启动并运行了。

其他回答

在设计器文件中选择-all并删除文件中的所有内容,将其保留为空白,然后保存 在ASPX/ASCX文件中选择-all,然后剪切所有内容,然后重新粘贴回来 设计器文件应该已经重新生成了代码

用无效的标记名称替换自定义标记。保存它 将无效的标记名称恢复为自定义标记名称。保存它。然后系统会提示您签出*.designer.cs文件(或静默地修改designer.cs)并生成自定义标记控件的正确变量。

只是在这里添加一个长长的答案列表-我刚刚在VS2010 (SP1)的.aspx文件中遇到了这个问题。我尝试添加和删除标准ASP控件(这在过去是有效的),但最终,我不得不从现有控件中删除runat=server行(并保存),以强制设计器文件重新生成。

我有两个问题……过时的AJAXControlkit -删除旧的dll,从工具箱中删除旧的控件,下载新版本,加载工具箱,并在页面上拖放新控件(参见http://www.experts-exchange.com/Programming/Languages/.NET/Visual_Studio_.NET_2005/Q_24591597.html)

也有拼写错误在我的标签控制(已使用'类'而不是'cssclass')。

Ta

还有另一种可能:您的.aspx文件中可能出现错误,不允许Visual Studio重新生成设计器。

如果切换到设计视图,它将显示控件无法呈现。修复控件(在我的例子中,它是属性中的额外引号)并重新编译应该会重新生成设计器。