提醒:本文最后更新于 2021-09-26 18:32,文中所关联的信息可能已发生改变,请知悉!
1、 代码
错误 CS0201 只有 assignment、call、increment、decrement 和 new 对象表达式可用作语句修复
dnSpy IL 指令反编译对字符串的重新拼接错误。
用 string.Concat 拼接字符串
string.Concat(text,str,"3")
2、 代码
错误 CS1674“IEnumerator”: using 语句中使用的类型必须可隐式转换为“System.IDisposable”
修复: 注释掉 using 语句 并且复制括号内的语句 加分号 结束语句即可
3、dnSpy 反编译源码的 goto 标签错误
错误 CS0159goto 语句范围内没有“IL_DB”这样的标签
这是明显性的反编译 goto 标签作用域错误,指定作用于内没找到。最简单的方法 换个反汇编工具。再次反编译,找到这段代码的逻辑复制修复即可。
比如 Telerik JustDecompile 这些都可以。
再或者 便是读懂此段代码的逻辑以后,手动重写逻辑代码 替换掉 goto 标签。
4、base(); 以及 base..ctor(); 这个错误的文件可能会比较多,网上百度到的结局结果是 public class xxxx():base() 这样解决。
但是大项目太多 几千个文件 手改要死人的。测试了直接删除这个语句 不影响代码运行。
文件太多的话,可以考虑批量替换为空;
5、 错误代码 :
uint num3 = <PrivateImplementationDetails>.ComputeStringHash(text4);
错误 CS1525 表达式项“.”无效
错误 CS1525 表达式项“<”无效
修复 :代码改为
然后生成 PrivateImplementationDetails 类 并且实现 ComputeStringHash;
代码如下:
6、错误 CS0118“Page”是 命名空间,但此处被当做 类型 来使用
这个简单是 因为 Page 命名冲突,不知道该引用谁了。直接 : System.Web.UI.Page 引用指定