有时,当我编辑页面或控件时,.designer文件随着我在页面上添加的新控件而停止更新。我不确定是什么原因导致这种情况发生,但我想知道是否有任何方法强制Visual Studio重新生成.designer文件。我使用Visual Studio 2008
编辑:对不起,我应该注意到我已经试过了:
关闭和重新打开所有文件和Visual Studio 更改页面上的runat="server"控件 删除并重新添加页面指令
有时,当我编辑页面或控件时,.designer文件随着我在页面上添加的新控件而停止更新。我不确定是什么原因导致这种情况发生,但我想知道是否有任何方法强制Visual Studio重新生成.designer文件。我使用Visual Studio 2008
编辑:对不起,我应该注意到我已经试过了:
关闭和重新打开所有文件和Visual Studio 更改页面上的runat="server"控件 删除并重新添加页面指令
当前回答
我知道的唯一方法是删除设计器文件,并将其转换为web应用程序。然而,当你这样做时,它通常会弹出错误,至于为什么它没有自动再生在第一个地方,它通常是一个控制引用,没有在页面头部声明。
其他回答
删除designer.cs文件,然后右键单击。aspx文件,选择“转换为Web应用程序”。如果控件声明有问题,比如标签格式不正确,您将得到一条错误消息,在visual studio成功地重新生成设计器文件之前,您将需要纠正格式错误的标签。
在我的例子中,在这一点上,我发现问题是我声明了一个按钮控件,它不在一个带有runat="server"属性的表单标记中。
(以下是使用VS2005的经验。)
如果在调试时编辑ASPX页面,则后台代码不会随新类一起更新。因此,您必须停止调试,简单地编辑ASPX页面(如添加按钮或其他内容),然后单击Design View,然后删除按钮。然后,应该更新设计器文件。
如果你在VS2008中有不同的问题,那么我帮不了你。
这就是我的经历, 在解决方案资源管理器中选择网站文件夹,右键单击,为将生成设计器文件的所有aspx文件选择转换为Web应用程序。
萨米尔
最近我发现我也有同样的问题。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,保存,然后恢复。
转换为Web应用程序不为我工作。
删除designer.cs并粘贴空白的designer.cs也不能工作。
但这确实奏效了:
选择所有(default . aspx) 减少 保存即 粘贴 保存即
完成了。生成新的designer.cs。:)