機能、使いやすさ、ドキュメント、サンプル、コミュニティ/サポート、VS統合、既知の実装、長期的な実行可能性、およびカスタムAOPフレームワークを実装する速度を構築しますか?AOPフレームワークを実装するためのMono Cecil vs. PostSharp Core vs. Microsoft CCI
私は(私は、これまでにPostSharpを試してみました)知っていることから始めましょう:
- Microsoft共通コンパイラ Instrastruture(CCI):私は はFxCopのために使用されていることを読みました、ILMerge、Spec#および コード契約。それは非常に低いレベルのようですas it does not even take care of correcting offsets for branch codes that are borken when IL is modified with it。
- PostSharpは5歳、AOP(例えば抄録 あなたが離れILを使って手動で行う に持っている必要がありますいくつかのもの)のために多くの 能力を持っている、開発可能なソース コードは、/だけ一人で をサポートしかし、彼はこのビジネスを作る に計画している、 ドキュメントを持っていますが、良いかもしれません、 は取るビルドを約2倍長く、IL を注入すると、バージョン2.0はすぐに多くのことを約束 を解放する方法について非常に 小さなサンプル改善されました。
- モノセシル一人によって書かれた、モノスイートの一部と プラグインは反射のために存在するがモノセシルを使用Reflexil と呼ばれます。
あなたの経験を共有していただきありがとうございます! PEVerifyツールを使用して、生成されたアセンブリを検証することができると思います。私は今PostSharpを使用しています。私はこれまでこれまでにやっていたことをすべてやり遂げることができました(そして、あなたはその理由を見つけることが正しいです、それは非常に不満かもしれません...)。もっと成熟していくとどういう意味ですか?より少ないバグ? PostSharpを使用しない理由は何ですか?好奇心のために、あなたのプログラムは何をしていますか? –
私のプログラムはアセンブリー合併/縮小ですので、PostSharpは私の助けにはなりませんでした。そして、はい、私はMicrosoft.CCIのバグが少なく、より多くのCLI機能(例えば、混合アセンブリ)をサポートしています。しかし、オブジェクトモデルは実際には使用が難しいです。 PEVerifyを使用して生成されたアセンブリをチェックしましたが、それがなければ成功するかどうかはわかりません:)しかし、エラーはしばしばアセンブリ生成プロセスを壊し、PEVerifyはそのような場合役に立たない。 – skevar7