解决与程序集引用相关的错误和警告
- CS0012: 在未被引用的程序集中定义了类型“type”。必须添加对程序集“assembly”的引用。
- CS0234: 命名空间中不存在类型或命名空间名(是否缺少程序集引用?)
- CS0246: 未能找到类型或命名空间名(是否缺少 using 指令或程序集引用?)
- CS0400: 未能在全局命名空间中找到类型或命名空间名(是否缺少程序集引用?)
- CS0735: 指定为 TypeForwardedToAttribute 属性的参数的类型无效。
- CS1068: 无法在全局命名空间中找到类型名称。此类型已转发到另一个程序集。请考虑添加对该程序集的引用。
- CS1069: 无法在命名空间中找到类型名称。此类型已转发到另一个程序集。请考虑添加对该程序集的引用。
- CS1070: 未能找到类型名称。此类型已转发到另一个程序集。请考虑添加对该程序集的引用。
- CS1704: 已导入具有相同的简单名称的程序集。尝试删除某个引用,或为其签名,以启用并行。
- CS1714: 此类型的基类或接口未能解析或无效。
- CS1760: 多个程序集引用相同的元数据,但只有一个是链接引用(使用 /link 选项指定);请考虑移除其中一个引用。
- CS7008: 程序集名保留名称,不能在交互会话中用作引用。
- CS7068: 对类型的引用声明在此程序集中定义了该类型,但源代码或任何添加的模块中并未定义该类型。
- CS7069: 对类型的引用声明在另一个程序集中定义了该类型,但找不到它。
- CS7071: 程序集引用无效且无法解析。
- CS7079: 类型在尚未添加的模块中定义。必须添加该模块。
- CS8090: 引用的程序集中有错误。
- CS8203: 程序集名称无效。
此外,本文还介绍了以下警告:
- CS1683: 对类型“Type Name”的引用声明在此程序集中定义了该类型,但在源代码或任何添加的模块中并未定义该类型。
缺少引用
以下错误和警告指示缺少程序集引用:
- CS0012: 在未被引用的程序集中定义了类型“type”。必须添加对程序集“assembly”的引用。
- CS0234: 命名空间中不存在类型或命名空间名(是否缺少程序集引用?)
- CS0246: 未能找到类型或命名空间名(是否缺少 using 指令或程序集引用?)
这些编译器错误指示代码中存在以下问题之一:
- 项目未引用所需的程序集。 若要修复此错误,请添加对所需程序集的引用。
- 拼错了某类型的名称。 检查类型的名称。
- 你使用了一个变量名称,其中 System.Type 的名称是预期的,例如
typeof
运算符 或is
运算符。 - 你在类型不在全局命名空间中时,使用了全局范围运算符(
::
)。
类型转发
- CS1068: 无法在全局命名空间中找到类型名称。此类型已转发到另一个程序集。请考虑添加对该程序集的引用。
- CS1069: 无法在命名空间中找到类型名称。此类型已转发到另一个程序集。请考虑添加对该程序集的引用。
- CS1070: 未能找到类型名称。此类型已转发到另一个程序集。请考虑添加对该程序集的引用。
这些错误表示引用转发到不同程序集的类型时出错。 若要解决上述任何错误,请添加对错误消息中指示的程序集的引用。
重复引用
以下错误指示重复的程序集引用:
- CS1704: 已导入具有相同的简单名称的程序集。尝试删除某个引用,或为其签名,以启用并行。
- CS1760: 多个程序集引用相同的元数据,但只有一个是链接引用(使用 /link 选项指定);请考虑移除其中一个引用。
若要修复这些错误,必须移除其中一个引用,或解决重复问题。 导致重复的原因包括:
- 多个未签名的程序集具有相同的名称。
- 项目引用同一程序集的多个版本。
程序集引用无效
以下错误指示程序集引用无效:
- CS7008: 程序集名保留名称,不能在交互会话中用作引用。
- CS7069: 对类型的引用声明在另一个程序集中定义了该类型,但找不到它。
- CS7071: 程序集引用无效且无法解析。
- CS7079: 类型在尚未添加的模块中定义。必须添加该模块。
- CS8090: 引用的程序集中有错误。
- CS8203: 程序集名称无效。
以下警告还指示无效的引用程序集:
- CS1683: 对类型“Type Name”的引用声明在此程序集中定义了该类型,但在源代码或任何添加的模块中并未定义该类型
检查程序集名称拼写是否正确。 引用的程序集文件可能无效。