有时,当我编辑页面或控件时,.designer文件随着我在页面上添加的新控件而停止更新。我不确定是什么原因导致这种情况发生,但我想知道是否有任何方法强制Visual Studio重新生成.designer文件。我使用Visual Studio 2008
编辑:对不起,我应该注意到我已经试过了:
关闭和重新打开所有文件和Visual Studio 更改页面上的runat="server"控件 删除并重新添加页面指令
有时,当我编辑页面或控件时,.designer文件随着我在页面上添加的新控件而停止更新。我不确定是什么原因导致这种情况发生,但我想知道是否有任何方法强制Visual Studio重新生成.designer文件。我使用Visual Studio 2008
编辑:对不起,我应该注意到我已经试过了:
关闭和重新打开所有文件和Visual Studio 更改页面上的runat="server"控件 删除并重新添加页面指令
当前回答
还有另一种可能:您的.aspx文件中可能出现错误,不允许Visual Studio重新生成设计器。
如果切换到设计视图,它将显示控件无法呈现。修复控件(在我的例子中,它是属性中的额外引号)并重新编译应该会重新生成设计器。
其他回答
我有一个问题,当在.ascx文件中声明时,我的新控件不会在设计器文件中生成。问题是我在后面的代码中也声明了它们。因此,删除后面代码中的声明解决了我的问题。
这就是我的经历, 在解决方案资源管理器中选择网站文件夹,右键单击,为将生成设计器文件的所有aspx文件选择转换为Web应用程序。
萨米尔
我的解决方法之一,对我很管用。
关闭Visual Studio 删除隐藏的.vs目录 删除现有的.sln文件 在visual studio中使用.csproj文件加载项目
我以为我有这个问题,是撕裂我的头发,但后来我意识到,我试图引用一个控件从一个静态方法。
使方法非静态为我解决了这个问题。
如果你使用的是VS2013或更高版本,确保代码引用的属性是“CodeBehind”而不是“CodeFile”,然后执行以下步骤
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="yourControl.ascx.cs" Inherits="yourControl.yourControl" %>
创建空的设计器页面(或清除它,如果它已经存在" yourcontrol . ascxx .designer.cs") 在ascx(或aspx)复制所有代码后,将其删除,然后保存。重新通过它,然后保存。 现在应该填充设计器文件了。