2

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

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

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

我认为这可能是我安装的扩展程序的组合 - 但禁用所有扩展程序也无济于事。我不愿意实际卸载我的扩展 - 禁用应该会阻止它们加载,不是吗。

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

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

它的 Visual Studio 2010,针对 .Net Framework 3.5,在 C# 中隐藏代码

4

2 回答 2

3

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

于 2012-08-22T17:14:48.180 回答
2

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

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

<asp.Login>

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

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

当您使用它太久并犯了一个愚蠢的错误时,需要注意一些事情。认为我应该添加这种补救措施,因为它似乎没有在其他地方涵盖。

于 2013-02-15T23:07:14.303 回答