首先你需要一个工具,叫什么呢?他就是很多人都知道Reflector,下载地址我这里顺便给一个吧,直接从本站下载,如果打开Reflector.exe提示有更新,那么我们点确定更新它就好了,
下载地址:reflector.rar (968.66 kb)
下载好后解压缩,打开Reflector.exe,然后点击File->open导入*.exe文件,这时工具就已经给我们把源代码展现出来了。
这里我上传一个FastQL.exe之后如图:
经过简单的对比,发现图中References就是我们引用的动态链接库dll
{}项目名里面带的是项目中的文件,一般指的是类或者form文件
点击+号,会出现变量名和方法名,点击之后,右边会出现代码,但是这样一个个复制出来很麻烦!我们可以直接导出成项目吗?答案是肯定的!邮件这个FastQL根目录选中Export,然后出现对话框,里面只需要填写导出位置就行了,我们到目标位置去看看就行了,整个项目的源代码都被导出了。
这时候一般我们都是新建一个工程,把这些代码复制进来,看到有些代码出现
[CompilerGenerated]
private
string
<URL>k__BackingField;
|
解决方法:
因为菜,所以不能改 reflector ,只好改生成的源代码了,使用.net 的在文件中替换的功能来解决:
1、Ctrl+Shift_H 打开替换窗口;
2、如下图示,使用正则表达式替换;
查找内容:\<{.#}\>k__BackingField
替换内容:_\1_k__BackingField
3、结束。
没办法,懒人就是这个样子,谁让生成的代码里边这种错误这么多呢,要不然也用不着这个方法了。
————————————————————————————————————————————————————
goldarch:有网友自己写一段代码,反编译,观察结果如下:
http://topic.youkuaiyun.com/u/20090726/16/50060e4f-8255-4706-abe8-455cb51fe2a7.html
CompilerGenerated是反编译生成的代码如
goldarch结论:
形如<URL>k__BackingField只不过就是一"变量命名"!
只不过vs不认这个命名而以,把这个命名改成vs能认的命名就可以了。
PWUrlRedirect代码简短,我直接把<URL>k__BackingField改成 _url,编译通过
需要注意的是:要主动应用"替换"功能,vs自动的替换没有作用(它根本不认为那是变量,不会主动替换的)。