file'〜/ controls / labelcontrol.ascx"找不到

时间:2018-03-05 11:55:16

标签: visual-studio dotnetnuke

我是视觉工作室和dnn的新手,我正在学习"基础知识"拿着一本书。我正试图建立我的第一个模块。在其中一个 ascx 文件中,我有以下代码:

<%@ Control Language="C#" AutoEventWireup ="true" CodeBehind="Settings.ascx.cs" Inherits="wrox.Modules.guestbook.Settings" %>
<%@ Register TagName="label" TagPrefix="dnn" Src="~/controls/labelcontrol.ascx" %>

<fieldset>
    <div class="dnnFormItem">
        <dnn:Label ID="lblAutoApprove" runat="server" ResourceKey="lblAutoApprove"
            ControlName="chkAutoApprove" />
    </div>
</fieldset>


<asp:CheckBox runat="server" ID="chkAutoApprove" />

以下代码提供以下警告: file&#39;〜/ controls / labelcontrol.ascx&#34;找不到

<%@ Register TagName="label" TagPrefix="dnn" Src="~/controls/labelcontrol.ascx" %>

我需要为这段代码使用 labecontrol.ascx 文件。

<div class="dnnFormItem">
    <dnn:Label ID="lblAutoApprove" runat="server" 
      ResourceKey="lblAutoApprove"
        ControlName="chkAutoApprove" />
</div>

这段代码会发出以下警告,因为缺少 labecontrol.ascx 文件(据我所知):元素&#39;标签&#39;不是一个已知的元素。如果网站中存在编译错误,或者缺少web.config文件,则会发生这种情况。

我在这个网站上发现了两个类似的问题。  The first one并非常有帮助,因为答案是忽略警告。我不想这样做。 由于他/她有拼写错误,The second question并没有帮助。

我怎样摆脱这个警告?

注释: 我使用的是visual studio 2017和dotnetnuke 8

1 个答案:

答案 0 :(得分:2)

自从我完成DNN开发以来已经有一段时间了,但问题通常是当你制作一个自定义模块时,你可以使用DNN其余部分所在的上下文,但在开发期间,剩下的DNN实际上并不存在(或者至少不是Visual Studio期望找到它的地方)。

我想你可以通过将DNN标签控件复制到模块的controls文件夹中来消除警告。如果你这样做,我会确保你的构建不包含DNN控件,并将它放在源代码控制使用的任何忽略列表中。