有时,当我编辑页面或控件时,.designer文件随着我在页面上添加的新控件而停止更新。我不确定是什么原因导致这种情况发生,但我想知道是否有任何方法强制Visual Studio重新生成.designer文件。我使用Visual Studio 2008
编辑:对不起,我应该注意到我已经试过了:
关闭和重新打开所有文件和Visual Studio 更改页面上的runat="server"控件 删除并重新添加页面指令
有时,当我编辑页面或控件时,.designer文件随着我在页面上添加的新控件而停止更新。我不确定是什么原因导致这种情况发生,但我想知道是否有任何方法强制Visual Studio重新生成.designer文件。我使用Visual Studio 2008
编辑:对不起,我应该注意到我已经试过了:
关闭和重新打开所有文件和Visual Studio 更改页面上的runat="server"控件 删除并重新添加页面指令
当前回答
除了所有已经给出的好答案,我想补充@johan-leino的好答案。在我的例子中,由于某种任意原因,CodeBehind属性从@Page指令/中被省略了。aspx文件。同样,检查CodeFile属性是否有@Control指令/也是值得的。ascx文件(显然在这两种情况下都与Inherits属性结合使用)。
根据“强制”重新生成.designer.cs所需的确切场景和原因,还可以在(快速)保存(无论是否有任何更改)之前尝试格式化文档(可能指示解析错误),并检查错误列表中的警告。
其他回答
在我的例子中,我只是在顶部缺少了一个寄存器TagPrefix。不知何故,之前的开发工作没有这个在那里?
删除designer.cs文件,然后右键单击。aspx文件,选择“转换为Web应用程序”。如果控件声明有问题,比如标签格式不正确,您将得到一条错误消息,在visual studio成功地重新生成设计器文件之前,您将需要纠正格式错误的标签。
在我的例子中,在这一点上,我发现问题是我声明了一个按钮控件,它不在一个带有runat="server"属性的表单标记中。
另一件有用的事情是——
手动删除&然后在文件系统中创建一个设计器文件。 编辑项目文件。 添加代码以包含设计器 例如:<Compile Include="<Path>\ filename . ascxx .designer.cs"> .c < DependentUpon > FileName.ascx < / DependentUpon > > < /编译 重新加载项目 在设计/视图模式下打开(c/p)x文件并保存。 检查设计器文件。代码会在那里。
在设计视图中,右键单击屏幕并点击刷新。
如果您像我一样,将旧的. aspx文件添加到最近的项目中。 您可能会忘记页面上使用的一些控件。
如果是这样,首先,如果你安装了多个文件; 一次只修复一个。
编译时,修复生成的错误。它们可能是一样的 所有文件中的错误。
接下来,如果您有设计器文件,请删除所有插入的设计器文件。 接下来,确保在编译时没有任何其他错误,除了 设计器文件。
最后右键单击您的web项目,然后单击“转换为web应用程序”。 这将插入您需要的设计器文件。
这些绝对是解决问题的最佳步骤。