2010-03-09 5 views
0

로컬 컴퓨터에 Windows 서비스를 구축했습니다. 설치하고 로컬로 실행할 때 완벽하게 작동합니다. 내 프로덕션 컴퓨터로 이동하려고하면 null 참조 예외 오류가 발생합니다.Windows 서비스 Null ReferenceException

내 컴퓨터에서도 완벽하게 작동하는 설치 패키지를 만들었지 만 프로덕션 컴퓨터에서 실행할 때 서비스가 여전히 실패합니다.

서비스는 .dll을 참조하며,이 dll은 3 개의 다른 dll에 대한 참조를 갖습니다. 내가 프로젝트를 빌드 할 때 프로젝트의 디버그 폴더에 모든 DLL을 가져옵니다 ... 나는 심지어 그 폴더에서 서비스를 설치했는데 내 컴퓨터에서 localy로 작동합니다.

나는 이것이 참고 문헌과 관련이 있다는 것을 알고 있지만, 이것은 저를 넘어선 것입니다. 모든 팁/힌트를 주시면 감사하겠습니다.

+5

실제로이 내용은 참조와 관련이 없습니다. 서버에 존재하지 않는 폴더 경로를 하드 코딩하지 않았습니까? 아니면 다른 자원입니까? 스택 추적을 게시하면 도움이됩니다. –

+0

그게 전부 야! 나는 당신이 웹 애플 리케이션 자체에있는 클래스로부터 상속 받았다고 말한 후에 깨달았다 ... 상대 위치에서 XML 설정 파일을 가져온다./facepalm – Patrick

+0

웹 응용 프로그램에서 사용하는 XML 파서도 내 서비스에서 웹 응용 프로그램 구조에있는 구성 파일에서 db 연결 문자열을 가져 오는 데 사용됩니다. try catch에서 해당 정보를 가져 오지 못할 경우 웹 응용 프로그램의 상대 위치는 회사의 이전 서버가 C : \ ... 인 절대 위치로 이동합니다.이 서버에서 모든 웹 응용 프로그램은 E : \에 저장됩니다 ... 나는 c를 e로 변경했습니다 절대적인 참조와 혀에 ... 작동합니다. – Patrick

답변

0

의견을 보면 문제가 무엇인지 알 수 있습니다.

0

설치하려는 컴퓨터의 머신이 동일한 지 확인한 후 .dll이 설치되어 있는지 확인하십시오. 예를 들어, .NET을 사용하고 3.5에서 서비스를 작성한 경우 대상 시스템에 문제가있을 수있는 2.0 만 있습니다 (특히 설치 프로그램이 설치하려고 시도하지 않은 경우).

+0

3.0이 설치된 서비스에 대한 의존성 중 하나 인 것으로 확인되었습니다.이 서버에는 2-5.5에서 작성된 4 - 5 개의 다른 웹 응용 프로그램도 포함됩니다. – Patrick