Лучший способ, который я нашел, это использовать функцию VB FileSystem.DeleteFile
.
Microsoft.VisualBasic.FileIO.FileSystem.DeleteFile(file.FullName,
Microsoft.VisualBasic.FileIO.UIOption.OnlyErrorDialogs,
Microsoft.VisualBasic.FileIO.RecycleOption.SendToRecycleBin);
Требуется добавить Microsoft.VisualBasic
в качестве ссылки, но это является частью .NET Framework и поэтому не является дополнительной зависимостью.
Альтернативные решения требуют P / Invoke для SHFileOperation , а также определения всех различных структур / констант. Включая Microsoft.VisualBasic
гораздо аккуратнее по сравнению.