Это работает для меня, я сделал следующие изменения:
- Использовать Task.Factory.StartNew вместо Task.Run
- Добавлены некоторые логи c для объединения paths.
Ваше нажатие кнопки должно выглядеть примерно так.
try
{
OpenFileDialog fileDialog = new OpenFileDialog();
//fileDialog.Filter = "Dat files |*.dat";
fileDialog.Multiselect = false;
if (fileDialog.ShowDialog() == DialogResult.OK)
{
var fullPath = fileDialog.FileName;
var fileName = Path.GetFileName(fullPath);
var destination = Path.Combine(folderToUploadFile, fileName);
Task.Factory.StartNew(() =>
{
File.Copy(fullPath, destination);
this.Close();
});
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
Обратите внимание, что при копировании файлов вручную в каталог установки они будут оставаться после удаления, поэтому может wi sh, чтобы справиться с этим.
РЕДАКТИРОВАТЬ:
На самом деле вам не нужен Task.Factory.StartNew () .... Task.Run должен работать так же.