繁体   English   中英

命名空间中的类无法在其继承的相同命名空间中找到同级类

[英]Class in namespace can't find a sibling class in the same namespace that it inherits

我的确切代码如下所示:

// ContractsUserControl
namespace AC.WebGUI.UserControls
{
    public partial class ContractUserControl : BaseUserControlObject
    {
        // Obviously stuff goes here.
    }
}

// BaseUserControlObject
namespace AC.WebGUI.UserControls
{
    public class BaseUserControlObject : System.Web.UI.UserControl
    {
        // A single property is declared here.
    }
}

当我使用Visual Studio调试时,这可以100%完美地工作,但是在实时服务器上运行时,出现编译错误:

CS0246:找不到类型或名称空间名称“ BaseUserControlObject”(是否缺少using指令或程序集引用?)

考虑到两个类都存在于同一个命名空间中,并且两个类都是公共的,因此我不知道如何发生,因此不需要使用引用。

我所知道的关于ASPX的一切都说这应该起作用,所以我什至不知道从哪里开始查找问题的原因。

程序集和名称空间是两件事。 即使类在同一个命名空间,他们可以在不同的组件和如果由于某种原因包含基类的程序集的旧版本加载实际上包含基类BaseUserControlObject ,那么你会得到这个确切错误信息。

调试时,Visual Studio通常会编译所有内容,因此这就是为什么您在调试中看不到异常的原因,但也许您的服务器部署工具无法识别包含BaseUserControlObject的程序集具有过时的版本。

编辑:我可以想象服务器部署失败的原因是,该库的旧版本已添加到GAC,但是版本号并未增加。 在这种情况下,服务器将从GAC而不是本地加载程序集。 但是,这只是一个疯狂的猜测。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM