有时,当我编辑页面或控件时,.designer文件随着我在页面上添加的新控件而停止更新。我不确定是什么原因导致这种情况发生,但我想知道是否有任何方法强制Visual Studio重新生成.designer文件。我使用Visual Studio 2008
编辑:对不起,我应该注意到我已经试过了:
关闭和重新打开所有文件和Visual Studio 更改页面上的runat="server"控件 删除并重新添加页面指令
有时,当我编辑页面或控件时,.designer文件随着我在页面上添加的新控件而停止更新。我不确定是什么原因导致这种情况发生,但我想知道是否有任何方法强制Visual Studio重新生成.designer文件。我使用Visual Studio 2008
编辑:对不起,我应该注意到我已经试过了:
关闭和重新打开所有文件和Visual Studio 更改页面上的runat="server"控件 删除并重新添加页面指令
当前回答
用无效的标记名称替换自定义标记。保存它 将无效的标记名称恢复为自定义标记名称。保存它。然后系统会提示您签出*.designer.cs文件(或静默地修改designer.cs)并生成自定义标记控件的正确变量。
其他回答
另一件有用的事情是——
手动删除&然后在文件系统中创建一个设计器文件。 编辑项目文件。 添加代码以包含设计器 例如:<Compile Include="<Path>\ filename . ascxx .designer.cs"> .c < DependentUpon > FileName.ascx < / DependentUpon > > < /编译 重新加载项目 在设计/视图模式下打开(c/p)x文件并保存。 检查设计器文件。代码会在那里。
在我的例子中,我只是在顶部缺少了一个寄存器TagPrefix。不知何故,之前的开发工作没有这个在那里?
TL,博士; 编辑ASPX页面的@Page指令的Inherits属性并点击保存。您的设计器文件应该重新生成。
确保Inherits = <命名空间>。<class_name> and CodeBehind = <class_name>.aspx.cs
我试图在一个Sharepoint 2010项目上做到这一点,使用VS 2010和TFS,上面的解决方案都不适合我。首先,在VS 2010中使用TFS时,. aspx文件的右键菜单中没有“转换为Web应用程序”选项。
这个回答终于起了作用。我的班级是这样的:
namespace MyProjects.Finance.Pages
{
public partial class FinanceSubmission : WebPartPage
{
protected void Page_Load(object sender, EventArgs e)
{
}
// more code
}
}
我的@Page指令是(为了清楚起见,这里换行):
<%@ Page Language="C#" AutoEventWireup="true"
CodeBehind="FinanceSubmission.aspx.cs"
Inherits="MyProjects.Finance.Pages.FinanceSubmission"
MasterPageFile="~masterurl/default.master" %>
我首先将Inherits更改为MyProjects.Finance。Pages,点击保存,然后改回myprojects。finance。Pages。financessubmit,再点击保存。和要人!重新生成设计器页面!
希望这对使用TFS的人有帮助!
在Visual Studio 2019中,步骤如下:
创建webform1.aspx 复制你的aspx代码并粘贴到webform1.aspx 编译你的项目,你应该在webform1.aspx.designer.cs中有设计器代码 现在你可以复制设计器代码并在你的原始web表单中使用。
我经常发现复制/粘贴会导致这种行为。大多数情况下可以通过编辑服务器控件的ID来解决(只需添加一个字符,然后删除它)。
还要记住,在设计器文件中,像重复器这样的控件是不可见的。
是的,在某些情况下,您需要执行上面列出的删除文件的魔法—但是更改名称解决方案在大多数情况下都是有效的。