Я создал консольное приложение, которое вставляет данные в бэкэнд MySql и считывает серийный номер с жесткого диска
Для этого мне пришлось добавить References
в MySql.Data и в System.Managment.
Я запускаю его, копируя каталог Debug
из Visual Studio (я думаю, что это проблема) и запуская файл .exe
на другом компьютере.
Когда я запускаю приложение на другом компьютере, ошибка трассировки стека:
PhDD >C:\Users\User\File\Indexer\WMI\Debug
Your key: 634685018347902535133
Exception getting SMART Object: reference not set to an instance of an object.
Exception in main thread: at System.ThrowHelper.ThrowArgumentOutOfRangeExcept
ion()
at System.Collections.Generic.List`1.get_Item(Int32 index)
at WMITest.Menu.Run() in C:\Users\fps700\Music\WMITest\Menu.cs:line 49
Updated HDD Stats at28/03/2012 18:46:57
Правильно ли я считаю, что эта проблема из-за ссылок?
Я проверил методы, перекомпилировав тот же код на другом компьютере, и он работает, когда ссылки добавляются через VS.
Может кто-нибудь подсказать мне, как решить эту проблему?
Ура за чтение.
P.S. я попытался добавить ссылочные пути (щелкнув правой кнопкой мыши по проекту, выбрав параметры, а затем выбрав ссылочные пути и добавив два файла DLL)
Строка 49
bool conversion = int.TryParse(smartData[1].ToString(), out temp);
После добавления поддельного значения int просто для того, чтобы убедиться, что преобразование не является ошибкой, возникает новая ошибка трассировки стека:
PhDD >C:\Users\bborisov\Dropbox\Indexer\WMI\Debug
Your key: 634685018347902535133
Exception getting SMART Object reference not set to an instance of an object.
Exception in main thread: at System.ThrowHelper.ThrowArgumentOutOfRangeExcept
ion()
at System.Collections.Generic.List`1.get_Item(Int32 index)
at WMITest.Menu.Run() in C:\Users\fps700\Music\WMITest\Menu.cs:line 53
Updated HDD Stats at28/03/2012 19:00:24
строка 53:
DBHandler.insertData(smartData[0].Trim(),
3, smartData[2], file.getKey());