请确保此代码文件中定义的类与';继承';属性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,似乎没有任何问题。
我认为问题在于您的命名空间名称以类名结尾:
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的实际副本时,我发现了这些文件。
一旦我删除了临时文件夹及其所有内容,解决方案就编译好了。谢谢大家的建议。