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

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

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


当前回答

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

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

Ta

其他回答

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

步骤1:选择所有的aspx代码,剪切[CTRL+X]该代码并保存。 步骤2:再次粘贴相同的代码在同一页,并再次保存

现在你的.desinger页面将会刷新。aspx页面中的所有控件。

最近我发现我也有同样的问题。Visual Studio 2010拒绝更新设计器文件。

事实证明,VS不会为使用CodeFile(页面运行)而不是CodeBehind (DLL)的页面修改设计器文件。无论你关闭VS、重新加载项目、重新创建控件或修改文件多少次,这都是正确的。没有什么会提示VS重新生成设计器。这就好像它没有为CodeFile页面创建设计器文件,但确实要求它存在。

我把它改成了CodeBehind并保存了页面。设计器文件立即更新。然后我把它改回来,一切都还是金色的。这种行为在VS 2010 / . net 4.0中似乎是新的,因为VS 2008在默认情况下没有出现这种情况。

就是这一部分:

<%@ Page Language="vb" AutoEventWireup="false" CodeFile="YourPage.aspx.vb" Inherits="YourPageClass" %>

将CodeFile更改为CodeBehind,保存,然后恢复。

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

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

-- 德里克。