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

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

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


当前回答

这个问题我已经遇到过很多次了,这次又犯了一次。我试着用这些建议来解决问题,但都没用。我终于发现我有'Title'属性在页头两次(我添加到结尾,没有意识到VS添加了一个空白Title=""到开头)——删除额外的属性导致VS2008重新生成设计器文件…我希望VS2010能修复这个问题,让我们知道为什么设计器文件不能生成…

-- 德里克。

其他回答

在Visual Studio中:

1)删除你的aspx.designer.cs文件

2)右键单击aspx文件,选择“转换为Web应用程序” 这应该会将aspx.designer.cs添加到最新的版本。

如果你得到一个错误:

"设计器文件生成失败:该方法或操作未实现。"

尝试关闭Visual Studio,然后重新打开项目,再次执行步骤2

如何在visual studio中生成aspx.designer.cs ?

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

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

我经常发现复制/粘贴会导致这种行为。大多数情况下可以通过编辑服务器控件的ID来解决(只需添加一个字符,然后删除它)。

还要记住,在设计器文件中,像重复器这样的控件是不可见的。

是的,在某些情况下,您需要执行上面列出的删除文件的魔法—但是更改名称解决方案在大多数情况下都是有效的。

如果你打开。aspx文件,在设计视图和html视图之间切换 返回后会提示VS检查控件并添加任何缺失的控件 设计器文件。

在VS2013-15中,在Project菜单下有一个Convert to Web Application命令。在VS2013之前,这个选项在as(c/p)x文件的右键上下文菜单中可用。完成此操作后,您应该看到您现在有一个*. designer .cs文件可用,并且Design HTML中的控件将可用于控件。

PS:这不应该在调试模式下进行,因为在调试时并非所有内容都要“重新编译”。

有些人还报告了删除。designer.cs文件的成功(先备份。designer.cs文件,然后删除。designer.cs文件)。重新创建同名的空文件。

对于这个答案,有许多评论添加了关于如何最好地重新创建designer.cs文件的提示。