I don't know about VS, but I normally do such maintenance tasks by hands.
With patch file, normally the problem is either of two:
1. Patch was generated against different version of the file. While trying to apply chunks, 'patch' (as in - utility that applies patch files) can't find relevant parts of code and fail. Usually leaving crap in form of patchname.rej filename.orig etc. in the directory.
Curable only by investigating the patch code and porting every change by hands.
2. Patch file is generated with different tree depth than what is assumed by patcher. Usually resulting in no results but a warning that there's no files to apply the patch to.
Curable by telling patcher to skip a number of directory elements from files mentioned in patch file. (The -p option.) How much - you have to check yourslef, looking up the patch text (the first two lines are usually enough to tell). If relative paths are the same, -p0 is the way.