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

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

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


当前回答

最近我发现我也有同样的问题。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,保存,然后恢复。

其他回答

还有另一种可能:您的.aspx文件中可能出现错误,不允许Visual Studio重新生成设计器。

如果切换到设计视图,它将显示控件无法呈现。修复控件(在我的例子中,它是属性中的额外引号)并重新编译应该会重新生成设计器。

我有一个问题,当在.ascx文件中声明时,我的新控件不会在设计器文件中生成。问题是我在后面的代码中也声明了它们。因此,删除后面代码中的声明解决了我的问题。

没有人提到的一件事是访问页面。我让我的设计器文件停止重新生成,因为我包含了一个不存在的用户控件(由于各种原因),这里建议的方法都不起作用。不管出于什么原因,我在Visual Studio中没有得到任何错误——除了一个抱怨我的客户端控件不存在的事实,因为它们没有被重新生成,当然。

需要实际访问页面才能获得ASP。请您告诉我错误。

在解决方案资源管理器中右键单击并选择转换为web应用程序。它将再次生成所有设计器文件。

我遇到了这个问题,对于我来说,我的一个控件的ID值中有一个空格。我把空间拿出来,设计器文件自己重新生成。