0
F5를 눌러 설치하지 않고 Visual Studio에서 직접 Windows 서비스를 실행할 수 있습니다.Windows 서비스가 코드 변경을 선택하지 않는 이유는 무엇입니까?
var service = new JSpargoService();
#if DEBUG
var logger = Log.GetLogger<JSpargoService>();
logger.Warn("Start service as console application... for debuging purposes! Please use 'Release' mode to run as windows service!");
service.Start();
Console.WriteLine("Running...");
Console.WriteLine("Press any key to stop program!");
Console.Read();
service.Stop();
#else
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
service
};
ServiceBase.Run(ServicesToRun);
#endif
좋아, 내가 디버그 갈 수 있습니다 : 난 할 수 있어요
때문에 Program.cs에서 나는 부분이있다. 여기 내 문제가 있습니다. Windows에서 코드 변경 내용을 가져 오지 않습니다. 새 코드를 수정하면 새 변수를 추가하고 결과를 반환 할 수 있습니다. 변수 위에 마우스를 올려 놓으면 var가 존재하지 않는 것처럼 보입니다.
마치 디버그 모드로 다시 컴파일하지 않는 것과 같습니다. 이상합니다. 도와주세요!
물론 아닙니다. 나는 그만 둔다. 코드를 수정하십시오. 그리고 다시 시작하십시오. 새 코드가 인식되지 않습니다. 새 코드를 가져 가면 아무 것도 없습니다. 이전 코드 위로 마우스를 이동하면 값을 볼 수 있습니다. 그리고 새 코드의 중단 점이 사라집니다. 그러나 디버그 폴더의 dll에는 컴파일 된 날짜가 있습니다. 그것은 단지 이해가되지 않습니다. – Sam
오케이 - 그래서 문제는 정확히 내가 생각했던 것이 아닙니다. "내 서비스 시작 중 ..."및 "내 서비스 중지 중 ..."을 입력하고 콘솔 창에서 볼 수 있습니다. 그래서 나는 편집 할 수있다. 그러나 서비스가 인스턴스화하는 또 다른 클래스는 수정하고 다시 컴파일 할 수없는 클래스입니다. – Sam
마지막으로 코드와 줄 번호 사이에 노란색 선이 있음을 알게되었습니다. 그래서 문제는 파일을 저장할 수 없다는 것입니다. 그러나 파일의 탭에 이름이있는 별표가 없습니다. 그래서 그것이 구원 받았던 것처럼 보입니다. – Sam