anchor.diff:      throw "URIs using the 'file:' scheme may not contain a host.";
     }
   
  -  _logResolution('# Path: $uri -> ${uri.path}');
  -  return uri.path;
  +  String path = uri.path;
  +  _logResolution('# Path: $uri -> ${path}');
  +  // Check that the path is not already in the form of /X:.
  +  if (_isWindows && (path.length > 2) && path.startsWith('/') &&
  +      (path[2] != ':')) {
  +    // Absolute path on Windows without a drive letter.
  +    if (_workingWindowsDrivePrefix == null) {
  +      throw 'Could not determine windows drive letter prefix.';
  +    }
  +    _logResolution('# Path: Windows absolute path needs a drive letter.'
  +                   ' Prepending $_workingWindowsDrivePrefix.');
  +    path = '$_workingWindowsDrivePrefix$path';
  +  }
  +  return path;
   }
   
   
  
positive.code: }
  
  
  void _setWorkingDirectory(cwd) {
    cwd = _sanitizeWindowsPath(cwd);
    cwd = _enforceTrailingSlash(cwd);
    _workingDirectoryUri = new Uri(scheme: 'file', path: cwd);
  
negative.code:   return fixedPath;
  }
  
  
  _enforceTrailingSlash(uri) {
    // Ensure we have a trailing slash character.
    if (!uri.endsWith('/')) {
  