우리 C# 클라이언트 응용 프로그램은 처음 실행시로드하는 데 항상 더 많은 시간이 걸립니다. 나는 지금까지 .NET 응용 프로그램의 첫 번째 실행 여부를 테스트하지 않았거나 .NET 응용 프로그램의 첫 실행이 느리긴하지만 어떤 경우에도 문제가 남아 있습니다. . 이 일회성 시동 히트를 어떻게 없앨 수 있습니까?.NET 응용 프로그램의 첫 번째 실행 성능을 어떻게 향상시킬 수 있습니까?
나의 초기 생각은 일종의 서비스가 라이브러리를 "워밍업"시킬 수 있다는 것입니다. 우리는 각 응용 프로그램 또는 모든 .NET 응용 프로그램에 대해이 작업을 수행해야합니까? 서비스를 실행하는 사용자가 차이를 만들겠습니까? 아마도 Windows 서비스가 아닌 Windows 로그인으로 실행되는 응용 프로그램이 더러운 작업을 수행 할 수 있습니까? 다시 말하지만 .NET 서비스만으로 충분할까요, 아니면 벌점을 없애기 위해 각 프로그램을 실행해야합니까? 프로그램이 즉시 종료되도록 명령 줄 매개 변수를 전달할 수는 있지만 충분할 수 있습니다. 또는 응용 프로그램의 정상적인 실행 중에 사용할 각 어셈블리를 .NET에로드해야할까요?
Re : 일부 답변은 릴리스 모드 DLL을 배포하고 있으며 속도 저하는 첫 번째 시작에서만 발생합니다. 우리는 가능한 한 클래스의 초기화를 지연하고 있습니다.
부팅 후. NET 프레임 워크를 워밍업하기 위해 어떤 솔루션을 제안하겠습니까? –
좋은 아이디어는 다음과 같습니다. 대답에 이미 관심이있는 어셈블리를 다루는 사소한 프로그램을 작성하십시오. 다른 작업은 필요하지 않습니다. WinForms 앱으로 만들지 만 UI는 표시하지 않습니다. –