UFO ET IT

내 C # 응용 프로그램이 Windows 작업 스케줄러에 0xE0434352를 반환하지만 충돌하지 않습니다.

ufoet 2020. 11. 16. 23:17
반응형

내 C # 응용 프로그램이 Windows 작업 스케줄러에 0xE0434352를 반환하지만 충돌하지 않습니다.


Windows 작업 스케줄러를 통해 실행중인 몇 가지 C # 앱을 작성했습니다. 그들은 성공적으로 실행되고 있지만 (기록중인 로그 파일에서 볼 수 있듯이) Windows 작업 스케줄러는 마지막 실행 결과를 반환하는 것을 보여줍니다 0xE0434352. Windows 작업 스케줄러에 성공 코드를 반환하도록 C # 응용 프로그램에서 수행해야 할 작업이 있습니까?


또 다른 옵션은 Windows 이벤트 뷰어를 통해 액세스 할 수있는 응용 프로그램 로그를 사용하는 것입니다. .Net 오류는 응용 프로그램 로그에 기록됩니다.


새 창에서 작업을 설정할 때 " program / script "및 " Start in (선택 사항) "필드가 있습니다. 첫 번째에 프로그램 이름을 입력하고 두 번째에 프로그램 위치를 입력합니다. 그렇게하지 않고 프로그램이 exe가있는 디렉토리에서 시작되지 않으면 그 안에있는 파일을 찾을 수 없습니다.


여기에 기술 된 바와 같이 한스 김에가 정확한지, I는 AppDomain.CurrentDomain.UnhandledException 핸들러를 첨가 http://msdn.microsoft.com/en-us/library/system.appdomain.unhandledexception(v=vs.71).aspx I이었다 발생한 예외를 찾아서 수정할 수 있습니다.


매핑 된 드라이브를 참조했는데 예약 된 작업을 실행하는 사용자 계정에서 매핑 된 드라이브를 항상 사용할 수있는 것은 아니므로 \\IPADDRESS대신 사용 MAPDRIVELETTER:하고 실행 중입니다.


다른 사람에게 도움이되는 경우 작업이 실행중인 서비스에 실행 가능한 위치에 대한 쓰기 권한이 없을 때이 오류가 발생했습니다. 거기에 로그 파일을 쓰려고했습니다.


이 문제가 있었는데 .Net 프레임 워크 버전 때문이었습니다. 빌드를 프레임 워크 4.0으로 업그레이드했지만 이것은 애플리케이션이 사용하는 일부 통신 dll에 영향을 미치는 것 같습니다. 프레임 워크 3.5로 롤백했는데 제대로 작동했습니다.


동일한 오류가 발생했지만 파일 읽기 경로를 "ConfigFile.xml" 에서 AppDomain.CurrentDomain.BaseDirectory.ToString () + "ConfigFile.xml" 로 변경하여 수정했습니다.

제 경우에는 작업 관리자가 "System32"에서 프로그램을 초기 경로로 시작했지만 우리가 생각한 폴더이기 때문에 파일 경로 오류로 인한 오류입니다.


MVC 5를 사용하여 dotNet Core 2.2 내에서 동일한 메시지 메시지를 받았지만 Windows 이벤트 뷰어에 아무것도 기록되지 않았습니다.

프로젝트 sdk를 Microsoft.NET.Sdk.Web에서 Microsoft.NET.Sdk.Razor( projects.csproj파일 내에서 볼 수 있음 )로 변경했음을 발견했습니다 . 나는 이것을 다시 바꾸었고 잘 작동했습니다. :)


제 경우에는 작업 스케줄러에 데이터베이스가있는 서버에 대한 권한이없는 사용자가있는 경우 권한 문제입니다.

참고 URL : https://stackoverflow.com/questions/14711633/my-c-sharp-application-is-returning-0xe0434352-to-windows-task-scheduler-but-it

반응형