2009-10-03 40 views
3

有沒有辦法從Silverlight發佈獲取代碼?從Silverlight發佈獲取代碼?

我的筆記本電腦已經完全崩潰,而我從我的應用程序中剩下的唯一東西就是已發佈的網站。

是否有工具或從我的應用程序獲取代碼?

回答

10

您可以將xap重命名爲zip,將其解壓縮並使用Reflector提取代碼。它不會完全恢復它或恢復XAML。據我所知,無法對XAML進行反向工程。

編輯:Shawn的+1指出XAML是作爲純文本資源存儲的,因此您也可以恢復它。不太確定爲什麼這樣做,但嘿,這是個好消息:-)

2

嘗試Silverlight Spy。這是一個調試Silverlight的好工具。如果將它與.NET Reflector結合使用,則可以查看任何正在運行的Silverlight應用程序的反編譯代碼。

BTW,here是Silverlight Spy的全部功能。

+0

如何導入我的DLL或XAP文件在Silverlight的間諜。 ? – Jordy 2009-10-03 20:40:01

+0

您可以使用silverlight間諜瀏覽到您的應用正在運行的網址,並且它會找到xap文件。 – Sorskoot 2009-10-04 08:03:28

+0

這已經修復了,但是反編譯我的xap文件的選項在哪裏呢? – Jordy 2009-10-04 08:49:53

4

使用.NET Reflector你可以可以可以所有的XAML。它以純文本形式存儲爲資源。

+0

你在哪裏可以找到那些xaml文件? – Jordy 2009-10-03 20:39:28

+0

查看程序集底部的Resource文件夾,它將包含它的名稱空間。我單擊它可以看到XAML。 – 2009-10-04 08:39:03

1

JetBrains已提供DotPeek可用。它目前是免費的(我希望它保持那種方式,不像.NET Reflector)。

它還將Silverlight DLL文件轉換回可讀的源代碼!我已經在幾個Silverlight項目上嘗試過了,它的功能就像一個魅力。

**注:截至本文寫作仍然得到了幾件事情錯了時間:字符串連接和事件處理程序產生錯誤的代碼*