НОРМАЛЬНО он сохраняется в том же каталоге, в котором выполняется исполняемый файл. Я видел исключения. (Я не могу вспомнить конкретику, но это заставило меня задуматься о цикле. Кажется, я вспоминаю, что когда он запускался как запланированное задание или запускался из ярлыка.
Единственный надежный способ узнать, куда он будет сохранен, если вы используете предоставленный вами фрагмент кода, - это проверить значение System.Environment.CurrentDirectory
. А еще лучше, укажите путь, по которому вы хотите его сохранить.
Редактировать - добавлено
Я знаю, что это немного поздно для изменения этого вопроса, но я нашел лучший ответ на проблему обеспечения того, чтобы вы всегда сохраняли файл в правильном месте, относительно исполняемого файла. Принятый ответ там стоит голосов "за" и, вероятно, имеет отношение к вашему вопросу.
См. Здесь: Должен ли я использовать AppDomain.CurrentDomain.BaseDirectory или System.Environment.CurrentDirectory?