【问题标题】:visual studio c# code file inherit problemsvisual studio c#代码文件继承问题
【发布时间】:2017-10-25 14:46:09
【问题描述】:

使用 C# 构建 Web 项目。有一个带有一般登录值、文本框、按钮等的login.aspx 页面。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="login.aspx.cs" Inherits="account_login" %>

在文件login.aspx.cs 后面的代码中,我试图从login.aspx 页面检查emailTxt 文本框的值。但是我得到了错误:

CS0436: 'I:\CSC3052\accountpages\login.aspx' 中的类型 'account_login' 与 'CIT7, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' 中的导入类型 'account_login' 冲突。使用“I:\CSC3052\accountpages\login.aspx”中定义的类型。

谁能告诉我该怎么做?如果需要更多细节,请询问。

【问题讨论】:

  • 你有没有类名 account_login ?
  • 看,我认为这就是问题所在。该网页是 login.aspx,我不知道它从哪里提取了“帐户”这个词,但即使我将“帐户登录”更改为“登录”,我仍然会遇到同样的错误。
  • 然后,当尝试从文件后面的 cs 代码中引用文本框时,我得到:CS0103 当前上下文 CIT7 I:\CSC3052\accountpages\login.aspx 中不存在名称“emailTxt”。 cs
  • 文件名可能不是类名。看看实际的类名。在整个解决方案中搜索该字符串可能是一个好的开始
  • account_login 是类的名称(在文件后面的代码中),如您所见,aspx 页面正在尝试从类 account_login 继承。 Inherits="account_login"。 login.aspx.cs 中的类名是什么?

标签: c# asp.net visual-studio


【解决方案1】:

参考CS0436: Type conflicts with the imported type

只有两个依赖类包含同一个类时才会发生冲突。有三种解决方法:

1.禁用导致CS0436的类中的警告: 编译指示警告禁用 0436

2.有一个单独的类实例,在每个客户项目中唯一命名(从维护的角度来看是不受欢迎的)。

  1. 如果类在程序集内部。将许可证类设为内部,这应该可以解决问题。比pragma 好得多。

【讨论】:

    猜你喜欢
    • 2011-08-13
    • 2020-07-27
    • 2022-01-23
    • 2021-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-11
    • 2011-09-01
    相关资源
    最近更新 更多