我們認爲大部分來源已通過.NET Reflector恢復。將dll導出爲C#源的實用程序。從dll恢復WinForms
唯一缺少的部分是WinForms,它不包括.NET反射器導出dll源代碼。
有沒有什麼辦法讓WinForms從DLL中恢復?
謝謝。
我們認爲大部分來源已通過.NET Reflector恢復。將dll導出爲C#源的實用程序。從dll恢復WinForms
唯一缺少的部分是WinForms,它不包括.NET反射器導出dll源代碼。
有沒有什麼辦法讓WinForms從DLL中恢復?
謝謝。
如果它不是在DLL中,你不能把它弄出來:-)
但可能一些類文件是你要搜索的形式。也許你必須將一個對System.Windows.Forms.dll的引用添加到你的項目中。
任何其他可以執行此操作的實用程序? – 2010-03-24 13:03:18
你會建議我們接下來應該做什麼? – 2010-03-24 13:03:36
首先,您必須驗證Windows窗體是否實際位於dll中。如果它不在dll文件中,則無法恢復它們,因爲沒有任何可恢復的東西。你確定這些表單在dll中嗎? 一個WinForm只不過是一個部分類的集合;設計者和代碼。因此,在導出整個程序集時,添加對System.Windows.Forms.dll的引用並嘗試找出哪些類最可能是表單。 – Rhapsody 2010-03-24 13:34:37
從Visual Studio 2005開始,Windows窗體類是部分類拆分爲Designer生成部分(MyForm.designer.cs)和您的實際實現(MyForm.cs)。當您從頭開始創建新表單時,您可以在資源管理器中看到。
爲了解決您的問題,您將不得不像Visual Studio那樣將反射器導出的類拆分:將InitializeComponent()
方法和所有控件聲明放入MyForm.designer.cs文件中,並將其餘代碼放入MyForm.cs文件。
@divo謝謝我喜歡這個主意:)我會嘗試一下 – 2010-03-24 14:01:03
häh?什麼「WinForms」?反射器確實導出所有的類。你錯過了什麼? – TomTom 2010-03-24 12:39:21
是的,它會導出所有的類。但是當我們在設計視圖中打開窗體時,會顯示一些錯誤消息「爲了防止在加載設計器之前可能會丟失數據,必須解決以下錯誤:」 – 2010-03-24 13:02:39