WPF 反编译后错误处理

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/372767.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaFX 2 GameTutorial第1部分

介绍 我相信大多数软件开发人员可能会在年轻人&#xff08;年轻人&#xff09;一生中的某一时刻被迫创建游戏来帮助他们学习编程语言&#xff08;我知道我确实做到了&#xff09;。 以前&#xff0c;我的第一台计算机实际上是Franklin Ace 1000 &#xff0c;后来是Apple [] 。 …

虚拟现实-VR-UE4-认识UE4

VR的火热&#xff0c;让每个人都想参与一下&#xff0c; 公司在展会上面搞了一个VR的Demo&#xff0c;关注度超出预期&#xff0c;使得公司高层决定来个VR项目 所以 关于UE4 百度百科地址&#xff1a;http://baike.baidu.com/link?urlmEmbwOcqEuqtkfdu9lNdxVtWAkv0Q6UHZ4VgIHr…

java concurrent 例子_[Java Concurrent] 并发访问共享资源的简单案例

EvenGenerator 是一个偶数生成器&#xff0c;每调用一个 next() 就会加 2 并返回叠加后结果。在本案例中&#xff0c;充当被共享的资源。EvenChecker 实现了 Runnable 接口&#xff0c;可以启动新的线程执行 run() 任务&#xff0c;用于检测所指向的偶数生成器是否每次都返回偶…

OSGI实战第一章

第一章 解开OSGI的面纱 OSGI是什么&#xff1f;是Java平台的一个模块化层。模块化&#xff1a;软件应用程序的代码被分割为表示独立内容的逻辑单元&#xff0c;可简化开发&#xff0c;可通过强化逻辑模块的界限来提高可维护性。Java模块化的不足a) Java使用访问…

轻松完成Birt报告

这是使用Birt插件在Eclipse中构建报告的完整指南。 Birt或Business Intelligence and Reporting工具是一种无需编写太多Java代码即可生成报告的工具。 如果您使用的是ireport&#xff0c;那么您知道我在说什么&#xff1a;&#xff09;&#xff08;晶体报告..毫无意义&#xff…

MySQL 的 RowNum 实现

MySQL 下面没有RowNum&#xff0c;排序后序号却无法得到&#xff0c;比较麻烦&#xff01; SELECT rownum:rownum1 rownum, CollectSn From(SELECT rownum:0,bbgmain.* FROM qbdb.bbgmain WHERE collectsn! ORDER BY collectsn limit 10) t转载于:https://www.cnblogs.com/hym-…

java jdbc事务管理_hibernate事务管理 (jdbc jta)

评论# re: hibernate事务管理 (jdbc jta)2007-07-29 10:18pigJTA事务的开始Transaction tx session.beginTransaction();应该不是这样吧&#xff0c;应该是从容器中获得。 回复 更多评论# re: hibernate事务管理 (jdbc jta)2007-07-29 12:35slxpig建议看看hibernate referen…

@Resource VS @Autowired

Resource 和 Autowired 均是用于bean注入的注解&#xff0c;都可以写在字段和setter方法上,如果都写在字段上&#xff0c;就无需写setter方法。 Autowired 由Spring的org.springframework.beans.factory.annotation.Autowired提供 默认byType方式注入&#xff0c;并且对象不能为…

用于Spring应用程序的Gradle原型

我发布了Gradle原型&#xff0c;可用于基于Springframework创建Java / Groovy应用程序。 当然&#xff0c;它不是一个真正的原型&#xff0c;因为这样的创作是不可能的 。不过&#xff0c;你可以创建&#xff0c;编辑和部署应用服务器很少的步骤。 对于可部署的软件项目而言&am…

java tm无响应_Java(TM) Platform SE binary 未响应 是怎么个情况?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼988098 [Thread-10] INFO sound.oo0O - Creating streaming player for music with id [faction_pirate_encounter_02_hostile.ogg]988099 [Thread-10] INFO sound.OooO - Playing music with id [faction_pirate_encounter_02_hos…

ROS and PCL install

ROS hydro安装指南&#xff1a; http://wiki.ros.org/cn/hydro/Installation/Ubuntu &#xff08;加ppa源后直接安装&#xff09; Linux OpenCV安装指南&#xff1a;http://blog.sciencenet.cn/blog-571755-694742.html &#xff08;从源代码编译&#xff09; PCL&#xff1a;…

揭开Python科学计算的面纱

春牛春杖。无限春风来海上。便与春工。染得桃红似肉红。 春幡春胜。一阵春风吹酒醒。不似天涯。卷起杨花似雪花。 标准的Python中用列表保存一组值&#xff0c;可以当做数组使用&#xff0c;但是由于其值类型任意&#xff0c;所以列表中保存的是指针&#xff0c;这样的话保存一…

FXML:使用BuilderFactory的自定义组件

当您想使用FXML时&#xff0c;您将需要能够添加自己的组件。 这很容易&#xff0c;您只需要添加一个import语句。 FXML文件中以大写字母开头的元素将被解释为实例&#xff0c;如果它们是Java Bean&#xff0c;则最重要&#xff1a;如果它们具有无参数的标准构造函数&#xff0c…

Excel 一键上传到数据库

<a class"edit" id"batchImport"> 批量导入 </a> js代码弹窗&#xff1a; $("#batchImport").click(function(){ //弹窗弹窗下列内容 var html<form id"execlForm" method"post" enctype&quo…

SQL——实例记录(对查询结果排行号)

select 订单编号, DENSE_RANK() over(order by 订单编号) from test 排序结果&#xff1a; 55678-0-1 1 55678-0-1 1 33454-0-1 2 33454-0-1 2 33454-0-1 2 这种是按照订单不同的顺序依次往后排 当然也可以在 over后面加上你想要的起始号 例&#xff1a;DE…

TeamCity构建依赖项

介绍 构建依存关系的主题既不重要也不是次要的。 各种构建工具从不同的角度处理此主题&#xff0c;从而提供各种解决方案&#xff0c;每种解决方案都有其优点和缺点。 熟悉发行版和快照依赖项的Maven和Gradle用户可能不了解TeamCity快照依赖项&#xff0c;或者认为他们与Maven…

复选框操作checked选中为true,反之为False,也可以赋值为true,false

转载于:https://www.cnblogs.com/shiluoliming/p/6518236.html

java 个税计算_【JAVA300例】10、计算个人所得税

逻辑是这样的。每个等级计算的系数都不一样。分别有多个档位。要判断处于什么档位然后用特殊的公式去计算。原版是从小到大判断&#xff0c;每次写条件很烦。这里换成从大到小。节省敲代码时间。import java.util.Scanner;public class Test010{public static void main(String…

Java是否越来越接受静态导入?

曾经有一段时间&#xff0c;至少在礼貌的社会中&#xff0c;人们普遍认为使用“ 不是 ”一词是不可接受的。 确实&#xff0c;那时&#xff08;也许直到今天&#xff09;&#xff0c;许多人确实&#xff08;也确实&#xff09;认为不是一个真实的词。 尽管这个词并没有 引起争议…

Stream 工具方法

inputstream 转 string 1、使用字符流 InputStream is TestZhimaCustomerCertificationInitialize.class.getClassLoader().getResourceAsStream("config/rsa_private_key_pkcs8.pem"); InputStreamReader isr new InputStreamReader(is); BufferedReader br new…