有时,当我编辑页面或控件时,.designer文件随着我在页面上添加的新控件而停止更新。我不确定是什么原因导致这种情况发生,但我想知道是否有任何方法强制Visual Studio重新生成.designer文件。我使用Visual Studio 2008
编辑:对不起,我应该注意到我已经试过了:
关闭和重新打开所有文件和Visual Studio 更改页面上的runat="server"控件 删除并重新添加页面指令
有时,当我编辑页面或控件时,.designer文件随着我在页面上添加的新控件而停止更新。我不确定是什么原因导致这种情况发生,但我想知道是否有任何方法强制Visual Studio重新生成.designer文件。我使用Visual Studio 2008
编辑:对不起,我应该注意到我已经试过了:
关闭和重新打开所有文件和Visual Studio 更改页面上的runat="server"控件 删除并重新添加页面指令
当前回答
如果您像我一样,将旧的. aspx文件添加到最近的项目中。 您可能会忘记页面上使用的一些控件。
如果是这样,首先,如果你安装了多个文件; 一次只修复一个。
编译时,修复生成的错误。它们可能是一样的 所有文件中的错误。
接下来,如果您有设计器文件,请删除所有插入的设计器文件。 接下来,确保在编译时没有任何其他错误,除了 设计器文件。
最后右键单击您的web项目,然后单击“转换为web应用程序”。 这将插入您需要的设计器文件。
这些绝对是解决问题的最佳步骤。
其他回答
在Visual Studio中:
1)删除你的aspx.designer.cs文件
2)右键单击aspx文件,选择“转换为Web应用程序” 这应该会将aspx.designer.cs添加到最新的版本。
如果你得到一个错误:
"设计器文件生成失败:该方法或操作未实现。"
尝试关闭Visual Studio,然后重新打开项目,再次执行步骤2
如何在visual studio中生成aspx.designer.cs ?
最近我发现我也有同样的问题。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/ascx)必须包含CodeBehind="MyPage.aspx.cs"属性,否则它将不起作用。我在这里写过博客。
我找到了一个有效的解决方案,虽然我不太喜欢它。我必须删除.designer.cs文件,然后重新创建一个具有相同名称的空文件。当我返回并再次保存aspx文件时,设计器文件重新生成。
狡猾的!
我知道这是一个老话题,但我只是想补充一个还没有被建议的解决方案。
我在一个资源文件上遇到了同样的问题。我在Visual Studio外编辑它,设计器文件没有正确更新。
重命名文件可以重新生成Designer文件。我只是重新命名为最初的名称,这工作得很好!