때때로 컴파일러가 컴파일 타임과 런타임 모두에서 명확하게 지적하지 못하는 .NET 프레임 워크에서 성가신 버그가 발생합니다. This for example.컴파일러 오류를 생성하는 C# 코드 분석 규칙 만들기
그것은 당신이 Global.asax.cs에서 Application_Start
에 MvcApplication.BeginRequest
수동으로 연결할 경우, 당신은 System.Web.HttpRuntime.ProcessRequestNotificationPrivate
에서 NullReferenceException
를 얻을 수 있습니다 상태.
오류를 원인과 관련 지을 수있는 명확한 방법이 없으므로 MvcApplication.BeginRequest
이벤트를 MvcApplication.Application_Start
에서 연결하면 컴파일 시간 오류가 발생하여 사용자가 다음을 수행하도록 할 수 있습니다. 그것을 제거하고 이유를 설명하십시오.
MS가 이것을 CA2001 규칙으로 컴파일러에 추가하면 정말 좋겠지 만 여기서는 직접 작성할 수있는 가능성이 없습니다. 나는 FxCop을 들여다 볼 수 있지만이 특별한 경우는 가능하다고 확신합니까? 정의하기가 상당히 어려울 것 같습니까? 유사한 작업을 수행하는 FxCop 규칙에 대한 모든 포인터는 감가 상각됩니다 (검색을 시도했지만 그러한 규칙을 찾을 수 없습니다). – NKCSS
간단한 FxCop 규칙 만 작성했지만 가능해야한다고 생각합니다. 많은 표준 규칙은 매우 복잡합니다 (IDisposable이 올바르게 구현되었는지 확인하는 것과 같이). 기본 규칙 어셈블리에서 디 컴파일러를 사용해보십시오. 이렇게하면 규칙을 구현하는 방법에 대한 아이디어를 얻을 수 있습니다. –