1. 首先,手动创建一个WPF工程(WpfApplicationReflectorDemo)

2. 把生成的WpfApplicationReflectorDemo.exe 拖到ILSpy里

3.点击 File -> Save Code...: 相应的代码会生成到指定地方。

4. 打开应用程序,并且编译它,此时程序会报如下错误。主要原因是缺少相应的WPF所必备的DLL--WindowsBase和PresentationCore。添加这两个dll之后程序会编译通过。

5. 这时我们还需要把相应的.XAML添加到应用程序中,我们在WpfApplicationReflectorDemo这个目录下添加与MainWindow.cs相关的MainWindow.xaml并且修改MainWindow.cs -->MainWindow.xaml.cs.与WPF的风格保持一致。这个时候我们需要把第二步看到的mainwindow.baml.中的内容添加到刚刚加入的MainWindow.xaml

6. 这时我们需要到MainWindow.xaml.cs去删除一些多余反编译出来的属性,字段和方法。并且在public class MainWindow加访问修饰符 partial

[GeneratedCode("PresentationBuildTasks", "4.0.0.0")]
internal TextBlock textBlock1;
private bool _contentLoaded;
public void InitializeComponent()
void IComponentConnector.Connect

7.添加App.xaml.去删除一些多余反编译出来的属性和方法.并且在public class App加访问修饰符 partial
[GeneratedCode("PresentationBuildTasks", "4.0.0.0")]
public void InitializeComponent()

7.最后删掉mainwindow.baml。 

其它问题解决办法:


问题1、 无法解析 Style Property“Template”。请确认拥有的类型是 Style 的 TargetType,或使用 Class.Property 语法指定 Property。

解决办法:将<Setter Property="Template">改为<Setter Property="Control.Template">


问题2、在VS中,资源管理器,右键,”添加“--》”新建项...“时,没有任何项目可选

解决办法:这种情况一般是项目文件的ProjectTypeGuids不正确导致,经过对比正常的项目发现,使用以下可以解决:

<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

红色部分一定要大写,反编译出来的,是小写,WPF项目才能用。


问题3、编译时,提示 Program does not contain a static 'Main' method suitable for an entry point,意思是没有包含Main方法

解决办法:打开项目文件,找到

<Page Include="App.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>

替换为

<ApplicationDefinition Include="App.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</ApplicationDefinition>

这样编译时,会自动产生Main方法,不需要自己手动建立。


问题4、编译时,提示   错误 命名空间“clr-namespace:”中不存在“LocalizedStrings”名称。

解决办法:

重新启动Visual Studio,如果仍然有错误,尝试清理解决方案,然后退出Visual Studio,重新编译

如果还是不行,再试试

  1. 关闭Visual Studio
  2. 文件夹位置 : "%LOCALAPPDATA%\Microsoft\Phone Tools\CoreCon\".
  3. 删除文件夹的内容: 10.0 和 11.0.

问题5、编译后,运行时,不显示主窗体界面

解决办法:在App.xaml中的“StartupUri”属性可以指定项目运行时的启动窗体。如下图中“StartupUri=”MainWindow.xaml”



其它慢慢积累

转载于:https://www.cnblogs.com/wuchitao/p/6512037.html

WPF 反编译后错误处理相关推荐

  1. java jar反编译后保存_java根据jar包反编译后修改再打包回jar的做法

    1. 得到一个待要修改的jar包 2. 我的环境是windows,然后解压这个jar包,得到一堆class文件,这时候就找到你需要的那个class文件 3. 我首先是使用jd-gui工具看一下这个cl ...

  2. Jar包反编译后修改源码再编译

    Jar包反编译后修改源码再编译 文章目录 Jar包反编译后修改源码再编译 1. 场景 2. 详细步骤 2.1 查看源码 2.2 生成源文件 2.3 构建项目 2.4 编译成jar包 3. 参考链接 1 ...

  3. 反编译后怎么修改服务器地址,反编译后怎么修改服务器地址

    反编译后怎么修改服务器地址 内容精选 换一换 业务接入DDoS高防后,经过高防转发的流量到服务端之后真实源IP将被隐藏,在业务应用开发中,通常需要获取客户端真实的IP地址.例如,投票系统为了防止刷票, ...

  4. link url下载php,php脚本生成google play url的下载链接,下载apk并自动反编译后获取android版本号...

    php脚本生成google play url的下载链接,下载apk并自动反编译后获取android版本号 需求: get the offer tracking link follow the redi ...

  5. 编译后错误提示为pls-00103:出现符号在需要下列之一时:begin case declare

    create or replace trigger auth_secure before insert or update or delete --/对整表更新前触发 on g002 begin IF ...

  6. 使用Eclipse查看反编译后的代码(Decompiler 插件)

    ■前言 今天想查看一个工具代码生成的 zip文件的密码. 工具是一个jar文件. 使用javap -c XXXX.class 反编译后,代码实在是太难理解了. (javap -constants XX ...

  7. 关于java的反编译的一些坑,反编译后代码中的$+数字是什么

    本人菜鸡一名,说的不够周到还请见谅.现在拿到一份虚机环境然后想把环境中的war还原成代码,反编译嘛,我觉得大部分人都接触过,看看源码啊啥的.先简单说说本次我用到的反编译工具. 首先说推荐的好用的工具J ...

  8. IDEA 如何查看 class 文件反编译后的内容

    有时候,我们需要查看 IDEA 编译后的 class 文件是什么样子的,字节码不太能看得懂,就需要再进行反编译.怎么做呢? 项目的目录下有一个 target,根据报名找到对应的 class 文件双击打 ...

  9. APK反编译后修改成功打包

    需求:apk需要改变一个常量,但是源码丢失 工具下载地址:http://download.csdn.net/download/intenttao/9953168 1.使用apktool反编译apk c ...

最新文章

  1. 洛谷3320 SDOI2015寻宝游戏(set+dfs序)(反向迭代器的注意事项!)
  2. go 安装墙外的依赖包报错问题
  3. 漫画:什么是人工智能
  4. 【转】Ubuntu 16.04 Nvidia驱动安装(run方式)
  5. oracle 数据库 字符串函数
  6. php 如何设置后台,phpcms怎么重新设置后台网址
  7. html %3ca id=%3e,xss编码小结
  8. python matplotlib 柱状图点击事件_Python:matplotlib分组Bar柱状图
  9. Mac OS使用ll、la、l等ls的别名命令
  10. hadoop的部署以及应用
  11. java单链表选票_Hackerrank Practice
  12. R语言与机器学习学习笔记(分类算法)
  13. 建筑系学生怎么系统地学 Photoshop、CAD 之类软件?
  14. Linkage 使用方法总结
  15. IE7的CSS兼容性
  16. [恢]hdu 2206
  17. 域名注册处更改dns服务器,怎么修改DNS服务器_为什么要修改DNS服务器
  18. 苹果手机上网速度慢_手机为什么下载速度很慢(揭晓手机下载速度慢的原因)...
  19. 【js】vue项目中实现点击复制过滤条件,获取并处理粘贴板内容
  20. LLVM 介绍(一) 项目与Chris Lattner

热门文章

  1. 转载:FilenameUtils的工具类
  2. [转]Linux下g++编译与使用静态库(.a)和动态库(.os) (+修正与解释)
  3. 用Paint Tool SAI绘制漫画
  4. [转]hadoop新手错误解决方法
  5. adodb.stream对象的方法/属性
  6. 网上找工作秘籍(3)
  7. ubuntu 常用快捷键、常用命令
  8. mexw32与mexw64
  9. java 数组的get set_java.lang.reflect.Array.setBoolean()方法
  10. mysql 重置密码模式_mysql--重置密码