visual-studio - 找不到文件 '~/controls/labelcontrol.ascx"

标签 visual-studio dotnetnuke

我对 Visual Studio 和 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" />

以下代码给出以下警告:找不到文件“~/controls/labelcontrol.ascx”

<%@ 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文件丢失(据我所知):元素“Label”不是已知元素。如果网站中存在编译错误,或者 web.config 文件丢失,则可能会发生这种情况。

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

如何摆脱这个警告?

注释: 我正在使用 Visual Studio 2017 和 dotnetnuke 8

最佳答案

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

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

关于visual-studio - 找不到文件 '~/controls/labelcontrol.ascx",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49109976/

相关文章:

asp.net - 如何让我的网站记住用户/密码登录

c# - DNN 和 Windows 身份验证

asp.net - 如何将 URL 转发到适当的页面?

c++ - Dll 与静态库(MSVC9 运行时库选项)

c# - Visual Studio 2012 "the project file has been moved, renamed, or is not on your computer"

windows - Visual Studio C++ 实现接口(interface)

c# - 如何在 Dotnetnuke 中使用 DAL 2 创建自定义表

visual-studio - installshield中的安装服务

c++ - 在 visual studio : libboost_regex-vc120-mt-sgd-1_59. lib(instances.obj) 中使用内置的 boost 库时:错误 LNK2038:检测到不匹配

.net-4.0 - 如何在asp.net 4.0下运行DotNetNuke 6.2