Extend retries for file-ops on windows (#3451)

diff --git a/lib/src/io.dart b/lib/src/io.dart
index 6422f84..50f7eb9 100644
--- a/lib/src/io.dart
+++ b/lib/src/io.dart
@@ -390,7 +390,8 @@
     return null;
   }
 
-  for (var i = 0; i < 3; i++) {
+  const maxRetries = 50;
+  for (var i = 0; i < maxRetries; i++) {
     try {
       operation();
       break;
@@ -398,7 +399,7 @@
       var reason = getErrorReason(error);
       if (reason == null) rethrow;
 
-      if (i < 2) {
+      if (i < maxRetries - 1) {
         log.io('Pub failed to $description because $reason. '
             'Retrying in 50ms.');
         sleep(Duration(milliseconds: 50));