在使用ILSpy对c# dll进行反编译时遇到的问题及处理方式

来源:互联网 发布:非凡软件站手机版 编辑:程序博客网 时间:2024/06/01 10:08

感觉Reflector比ILSpy好用,但是Reflector收费。ILSpy经常反编译出一些乱七八糟的东西。但是在使用中,最好还是两个一起用,因为经常反编译后的代码出错,但是不知道为什么,两个对比一下就知道了,像下面这张图:
这里写图片描述
左边是ILSpy,右边是Reflector,两个反编译的结果还不一样,错误也不一样。

1. error CS0579
error CS0579: Duplicate ‘global::System.Runtime.Versioning.TargetFrameworkAttribute’ attribute
CS0579 “global::System.Runtime.Versioning.TargetFrameworkAttribute”特性重复
将反编译的多个项目添加到一个解决方案时会遇到这个问题,解决方式:找到每个项目的AssemblyInfo.cs文件,将

[assembly: TargetFramework(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]

这句注释掉,再编译就不会出问题了。

2. (Reflector)set get访问器反编译

public string UserName{ get; set; }/* 正常的代码 */UserName="david";string uName=UserName;/* Reflector 反编译后的结果 */Set_UserName("david");string uName=Get_UserName();
原创粉丝点击