기능, 사용 편의성, 문서, 샘플, 커뮤니티/지원, VS 통합, 알려진 구현, 장기 실행 가능성 및 사용자 정의 AOP 프레임 워크를 구현하기위한 속도를 구축 하시겠습니까?AOP 프레임 워크 구현을위한 Mono Cecil 대 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 세이다 (당신이 떨어져 IL 수동으로 할 해야 할 필요가있을 것이다 예를 들어 초록 몇 가지) AOP에 대한 많은 기능이/단 한 사람에 의해 지원 하지만 그는이 사업을 계획이다, 문서를 가지고 있지만 더 좋을 수 걸릴 빌드 두 배 정도 길고, IL 를 주입하고, 버전 2.0이 곧 많이 될 것을 약속 발매 예정 방법에 대한 매우 작은 샘플 개선.
- 모노 세실 : 한 사람에 의해 작성된 모노 제품군의 일부 과 플러그인이 반사판에 대한이 모노 세실를 사용 Reflexil 을했다.
경험을 공유해 주셔서 감사합니다! PEVerify Tool을 사용하여 생성 된 어셈블리의 유효성을 검사 할 수 있다고 생각합니다. 나는 지금 PostSharp를 사용하고 있으며, 지금까지 원했던 모든 것을 할 수있었습니다. (그리고 그 이유를 찾는 것이 옳았습니다. 매우 좌절 할 수 있습니다 ...). 더 성숙한 무엇을 의미합니까? 더 적은 버그? PostSharp를 사용하지 않는 특별한 이유가 있습니까? 호기심에서, 당신의 프로그램은 무엇을하고 있습니까? –
내 프로그램은 어셈블리 합병/수축기이므로 PostSharp는 저에게 도움이되지 않았습니다. 그리고 예, Microsoft.CCI의 버그가 덜 발견되었으며, 더 많은 CLI 기능 (예 : 혼합 어셈블리)을 지원합니다. 그러나 객체 모델은 실제로 사용하기가 어렵습니다. 생성 된 어셈블리를 확인하기 위해 PEVerify를 사용했습니다. 그러나 성공하지 못하면 성공할 수 있는지는 확실치 않습니다.) 그러나 오류는 종종 어셈블리 생성 프로세스를 중단하며 PEVerify는 그러한 경우 쓸모가 없습니다. – skevar7