哪些C#编译器错误没有记录?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了哪些C#编译器错误没有记录?相关的知识,希望对你有一定的参考价值。
这是一个未记录的可能的C#编译器错误的集合。
如果您遇到这样的错误,请在此处发布回答:
- 错误号(CSnnnn)
- 相关的错误消息
- 如果可能的话,会产生一小段代码,会产生错误
Example:
CS0224:
使用vararg的方法不能是通用的,可以是泛型类型,也可以是params参数
Produced by:
int Foo<T>(__arglist) { return 0; }
如果有人已发布列出您遇到的错误的答案,请编辑该答案以添加其他详细信息。
The list of documented errors can be found on MSDN。似乎有很多人失踪......
在编译器字符串资源表中找到,但在MSDN Library索引中找不到。其中许多肯定是过时的,有些闻起来像有趣的无证功能,如支持模块和测试。检查CS2000:
CS0018:运营商'xxx'尚未实施 CS0240:'xxx'不能同时抽象和密封(现为CS0418) CS0679:其他语言可能允许覆盖内部虚拟成员“xxx” CS0767:无法使用指定的类型参数继承接口'xxx',因为它导致方法'yyy'包含仅在ref和out上有所不同的重载 CS0846:表达式树可能不包含使用可选参数的调用或调用 CS0847:表达式树可能不包含索引属性 CS0848:索引属性“xxx”具有必须提供的非可选参数 CS0849:索引属性“xxx”必须具有所有可选参数 CS0850:“xxx”的部分声明必须具有相同顺序的相同类型参数名称和方差修饰符 CS0851:使用'is'来测试与'dynamic'的兼容性与测试与'object'的兼容性基本相同,并且对所有非null值都是成功的 CS1114:嵌入式互操作类型'xxx'上的成员'yyy'在调试时无法评估,因为它从未在程序中引用。在调试时,请考虑首先将源对象强制转换为“dynamic”,或者将“Embed Interop Types”属性设置为false CS1543:添加模块'xxx'有未解析的类型'yyy'的引用 CS1544:添加了未添加的模块'yyy'引用模块'xxx' CS1595:委托'xxx'有一些无效的参数 CS1735:忽略/ win32manifest for module,因为它仅适用于程序集 CS1736:无法将'xxx'转换为委托,因为块中的某些返回类型不能隐式转换为委托返回类型 CS1737:预期参数 CS1738:在指定了所有固定参数后,必须出现命名参数规范。请使用语言版本7.2或更高版本以允许非尾随主要参数。 CS1739:/ appconfig给出的文件名太长或无效。在Roslyn(C#v6)中重新使用:'M'的最佳重载没有名为'x'的参数。 CS1903:为'/ test'选项提供了无法识别的值'xxx' CS1904:'xxx'不是有效的警告编号
CS1669:
__arglist在此上下文中无效
由。。。生产:
delegate int Bar(__arglist);
CS0002:
无法从资源加载消息字符串
由。。。生产:
很可能是由于字符串表资源损坏或完全丢失cscui.dll所以它无法显示任何错误消息。参考问题is here。
更像Leppie的例子,可以在编译器字符串资源表中找到,并且可能是由未记录的关键字触发的:
CS0190:__ arglist构造仅在变量参数方法中有效 CS0224:使用vararg的方法不能是通用的,可以是泛型类型,也可以是参数数组 CS0257:__arglist参数必须是形式参数列表中的最后一个参数
SES 1738:
在指定了所有固定参数后,必须出现命名参数规范。请使用语言版本7.2或更高版本以允许非尾随主要参数。
由。。。生产
string str = GetNewString(isAllowed: isUserAllowed, str);
可能的解决方案:升级到C#7.2或更高版本
右键单击要升级的项目 - >属性 - >构建 - >高级 - >语言版本。
以上是关于哪些C#编译器错误没有记录?的主要内容,如果未能解决你的问题,请参考以下文章
错误记录Android Studio 编译报错 ( Could not determine java version from ‘11.0.8‘. | Android Studio 降级 )(代码片段