The Cast
method will essentially try to perform a box/unbox, so it will fail if the items in the list aren't already strings. Try this instead:
List list = lvFiles.Items.Cast()
.Select(x => x.ToString()).ToList();
Or this
List list = lvFiles.Items.Cast()
.Select(x => x.Text).ToList();