请确保此代码文件中定义的类与';继承';属性3

本文关键字:继承 属性 确保 代码 文件 定义 | 更新日期: 2023-09-27 18:00:22

我最近继承了另一个供应商的项目,我正试图将其转化为可用的Visual Studio 2010解决方案。

我目前遇到的错误是:

请确保此代码文件中定义的类与"inherits"属性,并且它扩展了正确的基类(例如。页面或UserControl)。

我发现这个问题已经提出过好几次了,但在这种情况下,似乎没有一个解决方案奏效。以下是有问题的代码:

~/layouts/Header.ascx.cs

using System;
using Client._Classes.Global;
using Client._Classes.Helpers;
using Client._Classes.Utilities;
namespace Layouts.layouts_Header
{
    public partial class layouts_Header : BaseControl
    {
        private void Page_Load(object sender, EventArgs e)
        {
        }
        protected void lnkSignIn_OnClick(object sender, EventArgs e)
        {
            Session["CurrentPageURL"] = Sitecore.Context.RawUrl;
            Response.Redirect("/en/Community/Register.aspx");
        }
        protected void btnSearchSubmit_OnClick(object sender, EventArgs e)
        {
            string redirectURL = "/en/Search%20Results.aspx?cx=005917832522243245879:kpcudcaotoo&cof=FORID:11&ie=UTF-8&q=" + txtSearchQueryStr.Text;
            Response.Redirect(redirectURL);
        }
    }
}

~/layouts/Header.ascx

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="~/layouts/Header.ascx.cs" Inherits="Layouts.layouts_Header.layouts_Header" %>

BaseControl.cs

using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
using System.Globalization;
using Sitecore.Data.Items;
using Sitecore.Diagnostics;
using Sitecore.Web;
using Sitecore.SharedSource.Data.Comparers.ItemComparers;
using Sitecore.Data.Fields;
using Sitecore.SharedSource.Searcher;
using Sitecore.SharedSource.Searcher.Parameters;
using Sitecore.SharedSource.Searcher.Utilities;
using Sitecore.Collections;
using Client._Classes.Utilities;
using Client._Classes.Helpers;
using Client._Classes.Global;
namespace Client._Classes.Global
{
    public class BaseControl : System.Web.UI.UserControl
    {
        ...
    }
}

需要注意的是,其他几个.ascx控件也继承自BaseControl,似乎没有任何问题。

请确保此代码文件中定义的类与';继承';属性3

我认为问题在于您的命名空间名称以类名结尾:

namespace Layouts.layouts_Header
{
    public partial class layouts_Header // * snip *

尝试从命名空间中删除layouts_Header部分,然后将Inherits属性的值更改为Layouts.layouts_Header

提供给我的解决方案似乎包含这样的文件夹结构:

/温度/安装历史/681FBB6D58774C7D96B37D1353B7441E/布局

其中包含Header.ascx和Header.ascx.cs的副本。当我从项目中排除Header.ascx和Header.ascx.cs的实际副本时,我发现了这些文件。

一旦我删除了临时文件夹及其所有内容,解决方案就编译好了。谢谢大家的建议。