2015-04-28 6 views
0

У меня есть приложение C#, которое получает список каталогов внутри папки. Это делается с помощью вызова
String[] projects = System.IO.Directory.GetDirectories("path/to/folder", "*", System.IO.SearchOption.TopDirectoryOnly);System.IO.Directory.GetDirectories не работает после публикации

Это прекрасно работает на моей машине, но после публикации (в результате setup.exe, а также programName.application + Application Files) я попытался запустить программу на новой машине и он выбросил необработанную ошибку исключения.

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

Не удается ли инициализировать System.IO.Directory.GetDirectories при работе на другой машине?

+1

Нет, это определенно не ваша проблема. Переформулируйте свой вопрос без этого предположения, чтобы мы могли видеть, что происходит на самом деле. Ваша строка соединения, вероятно, жестко закодирована в файл на вашем компьютере. – Blorgbeard

+1

Является ли «путь/в/папка» жестко закодированным? он существует на новой машине? Каково фактическое сообщение об исключении? –

+0

[Как создать минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve) –

ответ

0

Я думаю, проблема связана с path/to/folder, поскольку этот путь может не существовать в новой машине. Не перекодируйте путь. Вместо этого прочитайте его из файла config (app.config, используя ConfigurationManager).

+0

Я не могу вас поблагодарить, ваш ответ заставил меня исследовать app.config, где я нашел строку подключения который был все еще рядом с тестированием (вскоре я переключился на библиотеку SqlServerCe). – fpscolin

+0

Добро пожаловать :) – Abhishek

Смежные вопросы