有时,当我编辑页面或控件时,.designer文件随着我在页面上添加的新控件而停止更新。我不确定是什么原因导致这种情况发生,但我想知道是否有任何方法强制Visual Studio重新生成.designer文件。我使用Visual Studio 2008
编辑:对不起,我应该注意到我已经试过了:
关闭和重新打开所有文件和Visual Studio 更改页面上的runat="server"控件 删除并重新添加页面指令
有时,当我编辑页面或控件时,.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能修复这个问题,让我们知道为什么设计器文件不能生成…
-- 德里克。