2010-03-09 3 views
0

Я построил службу Windows на своей локальной машине. когда я устанавливаю и запускаю его локально, он отлично работает. Когда я пытаюсь переместить его на свою производственную машину, я получаю ошибку с ошибкой нулевой ссылки.Служба Windows Null ReferenceException

Я создал установочный пакет, который также отлично работает на моей машине, но когда я запускаю его на производственной машине, служба все еще не работает.

Служба ссылается на .dll, которая, в свою очередь, ссылается на 3 другие DLL. когда я строю проект, он вытаскивает все DLL-файлы в папку отладки для проекта ... Я даже установил службу из этой папки, и она работает локально на моей машине.

Я знаю, что это должно иметь какое-то отношение к ссылкам, но это вне меня. Любые советы/подсказки будут оценены.

+5

Действительно, это не должно быть ничего общего со ссылками. Вы уверены, что не кодируете (скажем) путь к папке, который не существует на сервере? Или любой другой ресурс? Проводка stacktrace поможет. –

+0

Thats IT! я понял, что после того, как вы сказали, что я наследую от класса, который находится в самом веб-приложении ... его вытягивание в файле конфигурации xml из его относительного местоположения В WEB-APP!/facepalm – Patrick

+0

анализатор xml, который использует веб-приложение, также используется в моей службе, чтобы получить строку подключения db из конфигурационного файла, который находится в структуре веб-приложения ... его в попытке поймать, так что если он не сможет получить его из относительное местоположение в веб-приложении будет идти в абсолютное местоположение, которое в компаниях старого сервера было C: \ ... на этом сервере все веб-приложения хранятся на E: \ ... я изменил c на e в абсолютной ссылке и пуфе ... это работает. – Patrick

ответ

0

Если вы посмотрите на комментарии, вы увидите, что это за проблема.

0

Убедитесь, что машина, которую вы устанавливаете, имеет тот же самый компьютер, имеет тот же DLL, что и ожидалось. Например, если вы используете .NET и написали службу в 3.5, а на целевой машине только 2.0, это может быть проблемой, особенно если установщик не пытался ее установить.

+0

Я убедился, что в качестве одной из зависимостей службы 3.0 был установлен сервер, на котором также будут размещены 4-5 других веб-приложений, написанных во что угодно - от 2 до 3,5. – Patrick