有时,当我编辑页面或控件时,.designer文件随着我在页面上添加的新控件而停止更新。我不确定是什么原因导致这种情况发生,但我想知道是否有任何方法强制Visual Studio重新生成.designer文件。我使用Visual Studio 2008

编辑:对不起,我应该注意到我已经试过了:

关闭和重新打开所有文件和Visual Studio 更改页面上的runat="server"控件 删除并重新添加页面指令


当前回答

如果更新名称空间而不更新设计器文件中的名称空间,也会发生这种情况。修复:更新设计器文件中的命名空间。

其他回答

我的经验是,如果你想做这篇文章,如上所述。

你的标记文件(aspx/ascx)必须包含CodeBehind="MyPage.aspx.cs"属性,否则它将不起作用。我在这里写过博客。

我知道这是一个老话题,但我只是想补充一个还没有被建议的解决方案。

我在一个资源文件上遇到了同样的问题。我在Visual Studio外编辑它,设计器文件没有正确更新。

重命名文件可以重新生成Designer文件。我只是重新命名为最初的名称,这工作得很好!

我经常发现复制/粘贴会导致这种行为。大多数情况下可以通过编辑服务器控件的ID来解决(只需添加一个字符,然后删除它)。

还要记住,在设计器文件中,像重复器这样的控件是不可见的。

是的,在某些情况下,您需要执行上面列出的删除文件的魔法—但是更改名称解决方案在大多数情况下都是有效的。

对我来说,解决方案是将None更改为.csproj文件中的Compile

<Compile Include="Logout.aspx.designer.cs">
      <DependentUpon>Logout.aspx</DependentUpon>
</Compile>

这个问题我已经遇到过很多次了,这次又犯了一次。我试着用这些建议来解决问题,但都没用。我终于发现我有'Title'属性在页头两次(我添加到结尾,没有意识到VS添加了一个空白Title=""到开头)——删除额外的属性导致VS2008重新生成设计器文件…我希望VS2010能修复这个问题,让我们知道为什么设计器文件不能生成…

-- 德里克。