2018.07.06重大更新
破解工具已升級到 v2.1.0.0。支持 Postsharp 5.0.52 和 6.0.17-RC(支持 .NET Core)的破解。
點擊 → 傳送門 ←
啓動界面:
(圖1)
重大更新(2017.08.18):
- 破解工具升級到 v1.8.1.8版本
- 修復了“給定關鍵字不在字典中”的BUG
- 新增VS組件緩存目錄清理功能,便於VS再次啓動時加載 Patch後的文件
請大家前往百度網盤下載,下載地址見下文。
以下是註冊機的介紹
PostSharp 生成的程序集自帶水印:
- 在資源文件中有似於“Enhanced by Postsharp...”之類的字樣
- 生成的Aspects命名空間以 Postsharpxxxxx 開頭
- 以上水印即使是正版的終極版(也就是 Ulitemate 版,價格最貴的!)也無法消除
本註冊機的捐贈版本基於註冊碼,可以實現自定義水印和命名空間的功能。
- 首先打開註冊機,填好需要自定義的命名空間(注意,這裏的命名空間必須符合C#語言規範,也就是說必須符合語法標準。)
- 選好License類型,這裏默認是終極版(Ulitemate)
- 然後點擊【Get Key】即可生成帶自定義命名空間(水印)的License Key.
- 打開VS,在菜單欄找到Postsharp,進入 Options選項,移除舊的License Key。(如圖2所示)
- 將註冊機生成的帶有自定義命名空間的Key複製粘貼到Postsharp即可。
完成以上步驟後,編譯過的程序集就會加上你的自定義水印。
(圖2)
(圖3)
(圖4)
未捐贈版本效果如下:
(圖5)
(圖6)
Postsharp 官網地址:https://www.postsharp.net/
Postsharp 5.0.31.0 附件(註冊機 + 原件):http://pan.baidu.com/s/1kVqUExD 密碼: ffze
持續更新中...
以下是Postsharp的介紹
- 使用PostSharp的好處
-
PostSharp幫助您:
-
停止編寫樣板代碼,以更低的成本快速提供功能;
-
構建更可靠的軟件;
-
在第一次發佈後添加或修改功能;
-
構建每個人都能理解的線程安全的應用程序;
-
讓團隊成員更快地生產。
-
-
- PostSharp的典型用法
-
以下模式通常使用PostSharp實現:
-
INotifyPropertyChanged (屬性變更通知);
-
Undo/ReDo(撤銷/重做);
-
契約(前提條件,後置條件)—— 契約式編程;
-
診斷(記錄,度量,分析,...);
-
異常處理;
- ReTry(重試)
- Logging(日誌)
- Caching(緩存)
-
事務管理;
-
多線程(後臺/前臺執行,不可變,可凍結,synchronized,actors模型,...);
-
安全(審計,授權,...)。
-
-
此外,PostSharp提供了自動實現自己的模式並根據架構指南驗證手寫代碼的工具。
- 特點 PostSharp通過以下特點將其與類似技術區分開來:
- PostSharp不需要你改變架構,如依賴注入(IoC)。
- PostSharp不會生成您必須維護的源代碼。 在編譯期間添加新的行爲。
- PostSharp在運行時非常快,因爲它基本上是一個構建時間技術。
- PostSharp附帶Visual Studio工具,以便即使在源代碼中未實現行爲,您仍然可以理解代碼。
- Postsharp 如何工作:
- PostSharp在C#或VB編譯器之後插入自己的構建過程。 它將編譯器的輸出拆分成對象模型,並根據需要轉換代碼,最後將程序集(連同重寫的PDB)寫回磁盤。
- 與依賴注入(IoC容器)的比較
- 依賴注入就像高速公路上的拖拉機:這是一個很棒的工具,但往往不是最好的工具。
-
通過依賴注入和IoC容器實現的基於代理的AOP向正確的方向邁出了一步。 然而,它依賴的技術(動態代理)對可以做的事情施加了嚴格的限制。 基本上,你只能攔截接口或虛擬方法。 因此,您可以使用基於代理的AOP實現的模式數量非常有限。
此外,基於代理的強制您將應用程序解析爲無意義粒度的組件和接口,因此您將發現自己改變架構(依賴注入),以獲得依賴注入技術固有的優點,但只是一方 的效果。
最後,基於動態代理的AOP無法適應所有平臺,並且在運行時比PostSharp的效率要低得多。
- PostSharp與重構工具如Resharper有何不同?
- 重構工具在編寫代碼時可以提高生產率。您的代碼不夠簡單或更簡潔,由於使用重構工具, 它可以更具可讀性,因爲重構工具也具有很好的重新格式化能力。 但您的代碼的複雜性仍然保持與手動編碼(例如記事本)相同。 重構工具就像一個更高級的打字機。
然而PostSharp允許您實現具有較低內在複雜度的較少代碼行的功能。 使用PostSharp,您可以在更高層次的抽象中編寫代碼。 如果重構工具像高級打字機,PostSharp更像是一種更好的語言。
爲了獲得最佳的生產效率,我們建議您同時使用PostSharp和重構工具。 這就好比一臺更好的打字機和更好的語言。
- 重構工具在編寫代碼時可以提高生產率。您的代碼不夠簡單或更簡潔,由於使用重構工具, 它可以更具可讀性,因爲重構工具也具有很好的重新格式化能力。 但您的代碼的複雜性仍然保持與手動編碼(例如記事本)相同。 重構工具就像一個更高級的打字機。
- PostSharp如何影響運行時性能?
- PostSharp比任何替代技術都快。 但是,與使用PostSharp相關的運行時性能代價。 當討論PostSharp的運行時性能時,需要比較PostSharp開銷的成本
- 目標代碼的成本
- PostSharp所添加的行爲的成本
- 用以上成本衡量每秒調用該方法的次數。 您會發現PostSharp的成本對於典型的企業應用程序(無論是臺式機,移動設備還是服務器端)都是可以忽略的,但禁止在科學或金融應用程序的數字後端使用。
- PostSharp比任何替代技術都快。 但是,與使用PostSharp相關的運行時性能代價。 當討論PostSharp的運行時性能時,需要比較PostSharp開銷的成本
- PostSharp會影響我的構建時間嗎?
- 是的,因爲PostSharp在編譯中引入了其他步驟,所以有一個性能成本。 例如, 在C#編譯器執行之前運行的自定義工具,如XAML編譯器。 這個成本有多大,主要取決於PostSharp如何廣泛地轉換原始程序,這主要取決於有多少對PostSharp的利用。 爲了比較,PostSharp通常比FxCop快幾倍,這通常適用於大型公司的每個構建。
- 我仍然可以使用Visual Studio調試器調試我的代碼?
- 肯定的! 您的調試體驗不會受到PostSharp的影響。 如果按F11進入具有Aspect的方法,調試器將在此方法內停止。 如果要進入該Aspect,您可以打開“步入Aspect(Step into aspects)”選項。 如圖:
- 肯定的! 您的調試體驗不會受到PostSharp的影響。 如果按F11進入具有Aspect的方法,調試器將在此方法內停止。 如果要進入該Aspect,您可以打開“步入Aspect(Step into aspects)”選項。 如圖:
- 我以前試過這樣一個工具,導致很難理解我的代碼。 PostSharp如何不同?
- PostSharp附加於Visual Studio工具,確保您瞭解代碼中使用模式的位置和方式。 PostSharp在編譯期間應用模式,而不影響您的源代碼,以保持其清潔。 PostSharp Tools for Visual Studio將此信息直接推送到Visual Studio中,以便您始終了解這些模式。
- PostSharp附加於Visual Studio工具,確保您瞭解代碼中使用模式的位置和方式。 PostSharp在編譯期間應用模式,而不影響您的源代碼,以保持其清潔。 PostSharp Tools for Visual Studio將此信息直接推送到Visual Studio中,以便您始終了解這些模式。
- 如何測試通過Aspect增強的代碼?
- 您將像正常代碼一樣測試Aspect的代碼。 相比於手動實施Aspects的代碼,沒有什麼區別。
- 您將像正常代碼一樣測試Aspect的代碼。 相比於手動實施Aspects的代碼,沒有什麼區別。