c# - 反编译导致错误CS1112,汇编困惑

标签 c# .net .net-assembly decompiling compiler-services

于是我通过de4dot跑了一个C#大学程序,然后用reflector反编译,在VS中跑的时候出现了如下错误。

[assembly: System.Runtime.CompilerServices.Extension]

Error CS1112 Do not use 'System.Runtime.CompilerServices.ExtensionAttribute'. Use the 'this' keyword instead. Client C:\Users\user\Desktop\333\as2\decom\AssemblyInfo.cs 15 Active

我尝试用 this 和 this() 等替换代码,但这只会导致其他问题。有人可以解释一下我要用“这个”代替什么吗?我觉得我在这里遗漏了一些明显的东西。

最佳答案

当程序集包含扩展方法时,编译器将 [assembly: Extension] 属性添加到程序集中。这是自动发生的,并且根据您看到的错误,编译器不希望您明确地这样做。假设反编译器输出的其余部分是正确的,注释掉程序集级属性,您应该没问题。

也就是说,您永远不应该假设反编译器的输出是正确的。

关于c# - 反编译导致错误CS1112,汇编困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37360266/

相关文章:

c# - 如何在 PCL(可移植类库)中列出所有加载的程序集

c# - 将 c# 程序集动态加载和卸载到 appdomain

c# - ASP.Net 网站项目的程序集名称

c# - 如何获取刚刚插入的记录的 pkey 值(自动增量)?

.net - 从 64 位 .NET 程序连接到 32 位 Access 数据库

c# - Windows 服务 : check if base service is running

c# 程序集, friend 程序集

c# - 将参数(字符串)传递给 GetAsync()?

c# - ORM 与 CodeContracts 结合使用的实体 - 确保不变量

C# DataGridView 自动添加一_Extra_行