개발/C#

[system.reflection.targetinvocationexception] 잘 동작하던 exe 파일 동작 안하는 경우

TutleKing 2022. 6. 2. 22:30

어제까지는 잘 동작했고, 해당 디바이스가 아닌 다른 디바이스에서는 잘 동작하는 괴이한 상황에 빠져서 디버깅 중 

아래와 같은 문구를 확인하게 되었습니다. 

 

"system.reflection.targetinvocationexception 호출 대상이 예외를 throw했습니다 " 

"레지스트리에서 잘못된 인덱스 ''을(를) 읽었기 때문에 카운터 이름 데이터를 로드할 수 없습니다"

의 오류는 아래의 코드에서 발생한 것이 었고, 레지스트리 설정이 뒤틀려 성능 카운터 기능을 활용 할 수 없었던 것으로 파악했습니다. (발생 이유를 찾아보아야 하겠습니다.)

 

PerformanceCounter cpu_s = new PerformanceCounter("Processor", "% Processor Time", "_Total");

해결 방법

1. cmd 창(명령 프롬포트)를 관리자 권한으로 실행

2. lodctr/r을 실행

 

lodctr/r 실행 화면

위 사진과 같이 오류 코드가 2로 떴지만 한번 더 실행을 하니 exe 파일이 정상 동작되는 것을 확인했습니다. 

 

휴.... 다행이긴 한데, 발생 원인과 해결 방법 모두 파악을 하도록 노력해야겠습니다.   

반응형