有时,当我编辑页面或控件时,.designer文件随着我在页面上添加的新控件而停止更新。我不确定是什么原因导致这种情况发生,但我想知道是否有任何方法强制Visual Studio重新生成.designer文件。我使用Visual Studio 2008
编辑:对不起,我应该注意到我已经试过了:
关闭和重新打开所有文件和Visual Studio 更改页面上的runat="server"控件 删除并重新添加页面指令
有时,当我编辑页面或控件时,.designer文件随着我在页面上添加的新控件而停止更新。我不确定是什么原因导致这种情况发生,但我想知道是否有任何方法强制Visual Studio重新生成.designer文件。我使用Visual Studio 2008
编辑:对不起,我应该注意到我已经试过了:
关闭和重新打开所有文件和Visual Studio 更改页面上的runat="server"控件 删除并重新添加页面指令
当前回答
我遇到了这个问题,对于我来说,我的一个控件的ID值中有一个空格。我把空间拿出来,设计器文件自己重新生成。
其他回答
如果你运行的是Visual Studio 2013或2012,这里的大多数解决方案都不起作用。微软可能引入了一些优化,使IDE更敏捷,因此他们减少了触发代码生成器的情况。以下场景过去已经不再有效:
删除aspx或ascx文件——不再检查这种情况 剪切所有内容并重放到aspx或ascx文件中——不再工作,引用没有改变 转换为Web应用程序-选项不再可用 任意更改aspx/ascx文件的内容—不再工作(见2)。
解决方案出人意料地简单,但有点麻烦。为了触发代码生成器,更改一些需要生成designer.aspx.cs的内容。更改不影响代码的内容(如CSS样式或添加文本)不会触发代码生成器。必须更改引用控件。以下是如何做到这一点:
在ascx或aspx中更改控件的ID
<asp:HyperLink ID="MyLink" runat="server" NavigateUrl="~/Default.aspx" Text="Home" />
to
<asp:HyperLink ID="theLINK" runat="server" NavigateUrl="~/Default.aspx" CssClass="tab" Text="Home" />
转到ascx.cs或aspx.cs,确保将所有对“MyLink”的引用重命名为“theLINK”。保存并建立,你应该很好。
我有两个问题……过时的AJAXControlkit -删除旧的dll,从工具箱中删除旧的控件,下载新版本,加载工具箱,并在页面上拖放新控件(参见http://www.experts-exchange.com/Programming/Languages/.NET/Visual_Studio_.NET_2005/Q_24591597.html)
也有拼写错误在我的标签控制(已使用'类'而不是'cssclass')。
Ta
我知道这是一个老话题,但我只是想补充一个还没有被建议的解决方案。
我在一个资源文件上遇到了同样的问题。我在Visual Studio外编辑它,设计器文件没有正确更新。
重命名文件可以重新生成Designer文件。我只是重新命名为最初的名称,这工作得很好!
在我的案例中,当我向@Page部分添加CodeBehind时,问题得到了解决。
转换为Web应用程序不为我工作。
删除designer.cs并粘贴空白的designer.cs也不能工作。
但这确实奏效了:
选择所有(default . aspx) 减少 保存即 粘贴 保存即
完成了。生成新的designer.cs。:)