Кажется, это произошло совершенно случайно. В одну минуту программа работала, затем я внес некоторые изменения (совершенно не относящиеся к этой части программы, все, что я фактически изменил, это один из встроенных ресурсов проекта), и следующее свойство теперь возвращает просто "\"
.
public static string ProgramDataDir
{
//this has always worked on all windows OSes before, but all of a sudden, not so
//get { return Environment.GetEnvironmentVariable("ProgramData") + @"\"; }
//I've tried changing it to this, and this doesn't work either - same results
get { return Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + @"\"; }
}
Это свойство должно и всегда возвращало C:\Documents and Settings\All Users\Application Data
в XP и Server 2003. Это больше не работает на виртуальной машине 2003 и виртуальной машине XP, которые работают на одном виртуальном хосте. Хост не влияет на эти переменные среды, не так ли? Может ли быть проблема с моим виртуальным хостом? К сожалению, у меня нет доступного отдельного компьютера с сервером 2003 или XP, на котором я мог бы установить это программное обеспечение и запустить тесты.
Примечание: я понимаю, что эта часть не является вопросом программирования как таковым, скорее является проблемой сервера, но из-за характера остальной части вопроса я чувствую, что она по-прежнему подходит ТАК, пожалуйста, исправьте меня, если я ' м неправильно.
Кроме того, я не затрагивал этот проект некоторое время, я почти уверен, что не изменил никаких настроек, кроме номера версии сборки, но я не знаю и не могу вспомнить, изменился ли я любые настройки компиляции или аналогичные после последней рабочей версии. Могут ли какие-либо из этих настроек повлиять на мое приложение?
Приложение работает как служба Windows, поэтому использование каких-либо специальных папок пользователя не подходит для этого приложения.