ASPX文件中不再提取正在运行的用户控件。
ASPX文件
<%@ Register TagPrefix="Uc1" TagName="ContactForm" Src="~/Controls/VFEmailForm.ascx" %>
<uc1:VFEmailForm ID="VFEmailForm" runat="server" />
它正在运作,但现在却没有。 uc1:VFEmailForm下会出现绿线,当您键入Uc时,intellisense不会显示Uc1。好像寄存器语句不起作用 - 显然它没有。在升级到Visual Studio 2015之前,这一切都正常。
我已经展示了我的web.config文件的一部分,因为古代帖子暗示这可能是原因。
Web.config
<pages>
<namespaces>
<add namespace="System.Web.Optimization" />
</namespaces>
<controls>
<add tagPrefix="webopt" assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" />
<add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" />
</controls>
</pages>
如果有一位大师可以解决这个问题,我会很感激。
答案 0 :(得分:0)
我很久以前也处于你的境地。
1.尝试在两行中使用相同的标记名称: 与你的情况一样
<%@ Register TagPrefix="uc1" TagName="ContactForm" Src="~/Controls/VFEmailForm.ascx" %>
<uc1:ContactForm ID="VFEmailForm" runat="server" />
答案 1 :(得分:0)
在x64下构建时遇到了同样的问题。我切换到x86,重建了项目,VS 2015按预期工作。
答案 2 :(得分:0)
我使用 Visual Studio 2017,并遇到了类似的问题:tagName
下方有绿色波浪线,而不是整条线,即 <Uc1:***ContactForm*** ...>
。作为其中的一部分,我收到此错误:
元素 ContactForm 不是已知元素。
A solution posted by @mitoutsnd on ASP.NET 通过建议我使用解决了这个问题:
构建 > 重建解决方案
这解决了我的问题。