There certainly is a direct method in .NET to obtain the ISO week number.
It is even quite simple; it is, however, buggy - as ISO week numbering "always" has been at MSFT since VB 3.0 and Access Basic (of Access 2.0) and through all versions up to and including VBA of Office 2010. It is a big question why it hasn't been resolved in .NET. Fortunately, a tiny test for week 53 (study in-line comment please) will get it right.
public static int WeekIso8601(this DateTime currentDate)
CultureInfo cultureInfo = CultureInfo.InvariantCulture;
Calendar calendar = cultureInfo.Calendar;
CalendarWeekRule calenderWeekRule = CalendarWeekRule.FirstFourDayWeek;
DayOfWeek firstDayOfWeek = DayOfWeek.Monday;
int weekNumber =
int weekNumberNext =
weekNumber = _minIso8601WeekNumber;