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,重新編譯
如果還是不行,再試試
問題5、編譯后,運行時,不顯示主窗體界面
解決辦法:在App.xaml中的“StartupUri”屬性可以指定項目運行時的啟動窗體。如下圖中“StartupUri=”MainWindow.xaml”
?
?
?
?
其它慢慢積累
轉載于:https://www.cnblogs.com/wuchitao/p/6512037.html
總結
以上是生活随笔為你收集整理的WPF 反编译后错误处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Business Component(B
- 下一篇: OSGI实战第一章