有时,当我编辑页面或控件时,.designer文件随着我在页面上添加的新控件而停止更新。我不确定是什么原因导致这种情况发生,但我想知道是否有任何方法强制Visual Studio重新生成.designer文件。我使用Visual Studio 2008
编辑:对不起,我应该注意到我已经试过了:
关闭和重新打开所有文件和Visual Studio 更改页面上的runat="server"控件 删除并重新添加页面指令
有时,当我编辑页面或控件时,.designer文件随着我在页面上添加的新控件而停止更新。我不确定是什么原因导致这种情况发生,但我想知道是否有任何方法强制Visual Studio重新生成.designer文件。我使用Visual Studio 2008
编辑:对不起,我应该注意到我已经试过了:
关闭和重新打开所有文件和Visual Studio 更改页面上的runat="server"控件 删除并重新添加页面指令
当前回答
如果你使用的是VS2013或更高版本,确保代码引用的属性是“CodeBehind”而不是“CodeFile”,然后执行以下步骤
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="yourControl.ascx.cs" Inherits="yourControl.yourControl" %>
创建空的设计器页面(或清除它,如果它已经存在" yourcontrol . ascxx .designer.cs") 在ascx(或aspx)复制所有代码后,将其删除,然后保存。重新通过它,然后保存。 现在应该填充设计器文件了。
其他回答
我知道的唯一方法是删除设计器文件,并将其转换为web应用程序。然而,当你这样做时,它通常会弹出错误,至于为什么它没有自动再生在第一个地方,它通常是一个控制引用,没有在页面头部声明。
在我的例子中,我只是在顶部缺少了一个寄存器TagPrefix。不知何故,之前的开发工作没有这个在那里?
我用的是vs2003,这些都不适合我。有效的方法是打开。vb页面顶部标记为Web表单设计器生成代码的部分(表示不要在那里编辑的部分)并在那里声明它,在那里系统声明了所有其他控件。大胖。
在设计器文件中选择-all并删除文件中的所有内容,将其保留为空白,然后保存 在ASPX/ASCX文件中选择-all,然后剪切所有内容,然后重新粘贴回来 设计器文件应该已经重新生成了代码
我找到了一个有效的解决方案,虽然我不太喜欢它。我必须删除.designer.cs文件,然后重新创建一个具有相同名称的空文件。当我返回并再次保存aspx文件时,设计器文件重新生成。
狡猾的!