我刚刚安装了Visual Studio 2010的发布版本,看起来标准的ASP.NET服务器控件出现了问题。
当我创建一个基本的服务器控件(例如TextBox)时,编辑器以绿色突出显示它并说(我也没有获得ASP.NET控件的智能感知):
元素'TextBox'不是已知元素。如果有编译,则会发生这种情况 Web站点中的错误,或Web.config文件丢失。
网站构建正常,Web.config文件不会丢失:
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="false" targetFramework="4.0" />
</system.web>
</configuration>
控件在代码隐藏中工作得很好,并且在我运行网站时它们可以正常运行。
这里有配置问题吗?
答案 0 :(得分:13)
This person谁是Visual Web开发团队的测试人员提供了这种解决方法,显然有效:
关闭VS,删除架构缓存,然后重新打开VS 。您可以在以下内容中找到模式:
C:\Users\Pavel\AppData\Roaming\Microsoft\VisualStudio\10.0\ReflectedSchemas
删除此文件夹中的所有文件是安全的。
答案 1 :(得分:1)
我遇到了同样的问题,但是删除缓存并不能解决我的问题。
但是,根据其他答案,我修改了.aspx文件(MasterPageFile =“〜/ MasterPage.master”)中已设置的母版页路径。 到不存在的内容,保存文件,然后将其更改回原始路径。在此之后,下划线消失了,智能感知正常工作了。
有趣的是,这仍然是2020年的事情。使用VS2019社区。 p>
答案 2 :(得分:0)
问题的扩展,因为您的解决方案对我不起作用。
我在SharePoint 2010应用程序页面中看到了这一点,它没有在Page标签中指定masterpageurl。
解决方案:将MasterPageURL =“~masterurl / default.master”设置为设计器中的Page标签后,它修复了我的所有ASP标记。
答案 3 :(得分:0)
就我而言,我注意到 MyPage.aspx.designer.cs
丢失了。一旦我复制了现有文件并定义了控件,一切就设置好了。
请注意,有三个文件。
MyPage.aspx
MyPage.aspx.cs
MyPage.aspx.designer.cs
控件的定义如下所示:
protected global::System.Web.UI.HtmlControls.HtmlInputText txtName;
/// <summary>
/// txtAddress control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlInputText txtAddress;