Visual Studio 2010不在设计器文件中生成新的控件定义

时间:2012-08-16 09:00:45

标签: asp.net visual-studio-2010 designer

我偶尔遇到一个问题,即在向aspx页面添加新控件后,控件定义不会在设计器文件中创建 - 这意味着它在代码隐藏中未定义。如果您在源中键入新控件或从工具箱中拖放,则设计器不会更新。页面上没有错误或警告。

到目前为止,我只在使用嵌套母版页的aspx页面上看到过它。在aspx页面上发生此错误的同时,设计器更新可以处理用户控件

从源视图切换到设计视图,保存,重新加载项目,重新启动visual studio的常用技巧不起作用。我对设计器文件有写权限。

我认为它可能是我安装的Extensions的组合 - 但禁用所有扩展也无济于事。我不愿意实际卸载我的扩展程序 - 禁用停止加载我的扩展程序。

我不想尝试'转换为Web应用程序',因为项目已经是Web应用程序,这可能会影响项目中的所有页面,而不仅仅是错误的页面。

我不得不求助于手动编辑设计器文件 - 到目前为止这没有造成任何问题,但是很痛苦。有没有人知道一个扩展,它将允许重新生成单个设计器文件 - 或任何KB或修复或其他方式来解决这个问题?

其Visual Studio 2010,针对.Net Framework 3.5,代码在C#

2 个答案:

答案 0 :(得分:3)

我在这里遇到了同样的问题,我删除了设计器文件,然后我做了 "转换为网络应用程序" ,我的设计器文件在不修改项目中的任何其他内容的情况下重新创建,只需确保右键单击 aspx 页面并选择 "转换为Web应用程序" 菜单选项。

答案 1 :(得分:2)

我遇到了同样的问题,在网上搜索修复后,没有一个常用的技巧对我有用。最后,我发现我添加的控件位于现有的自定义控件中。

例如,我正在创建自己的用户密码检索部分(忘记密码?)但是已经开始在现有的

中构建它
<asp.Login>

标记。我的控件不是登录内容模板的一部分,我猜asp.net忽略了它们。

发生这种情况时,不会显示任何错误,也没有智能感知警告。您的控件在后面的代码中不可用。如果您手动将它们添加到设计器中,它们会在下次重新生成时丢失。如果您在.cs文件中声明它们,它们仍然会以对象引用未设置错误结束。

当你长时间呆在这里并犯下一个愚蠢的错误时需要注意的事项。以为我应该添加这种补救措施,因为它似乎没有在其他地方覆盖。