有时,当我编辑页面或控件时,.designer文件随着我在页面上添加的新控件而停止更新。我不确定是什么原因导致这种情况发生,但我想知道是否有任何方法强制Visual Studio重新生成.designer文件。我使用Visual Studio 2008
编辑:对不起,我应该注意到我已经试过了:
关闭和重新打开所有文件和Visual Studio 更改页面上的runat="server"控件 删除并重新添加页面指令
有时,当我编辑页面或控件时,.designer文件随着我在页面上添加的新控件而停止更新。我不确定是什么原因导致这种情况发生,但我想知道是否有任何方法强制Visual Studio重新生成.designer文件。我使用Visual Studio 2008
编辑:对不起,我应该注意到我已经试过了:
关闭和重新打开所有文件和Visual Studio 更改页面上的runat="server"控件 删除并重新添加页面指令
当前回答
只是在这里添加一个长长的答案列表-我刚刚在VS2010 (SP1)的.aspx文件中遇到了这个问题。我尝试添加和删除标准ASP控件(这在过去是有效的),但最终,我不得不从现有控件中删除runat=server行(并保存),以强制设计器文件重新生成。
其他回答
转换为Web应用程序不为我工作。
删除designer.cs并粘贴空白的designer.cs也不能工作。
但这确实奏效了:
选择所有(default . aspx) 减少 保存即 粘贴 保存即
完成了。生成新的designer.cs。:)
我有两个问题……过时的AJAXControlkit -删除旧的dll,从工具箱中删除旧的控件,下载新版本,加载工具箱,并在页面上拖放新控件(参见http://www.experts-exchange.com/Programming/Languages/.NET/Visual_Studio_.NET_2005/Q_24591597.html)
也有拼写错误在我的标签控制(已使用'类'而不是'cssclass')。
Ta
我找到了一个有效的解决方案,虽然我不太喜欢它。我必须删除.designer.cs文件,然后重新创建一个具有相同名称的空文件。当我返回并再次保存aspx文件时,设计器文件重新生成。
狡猾的!
如果你使用的是VS2013或更高版本,确保代码引用的属性是“CodeBehind”而不是“CodeFile”,然后执行以下步骤
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="yourControl.ascx.cs" Inherits="yourControl.yourControl" %>
创建空的设计器页面(或清除它,如果它已经存在" yourcontrol . ascxx .designer.cs") 在ascx(或aspx)复制所有代码后,将其删除,然后保存。重新通过它,然后保存。 现在应该填充设计器文件了。
我的经验是,如果你想做这篇文章,如上所述。
你的标记文件(aspx/ascx)必须包含CodeBehind="MyPage.aspx.cs"属性,否则它将不起作用。我在这里写过博客。