diff --git a/CHANGELOG.md b/CHANGELOG.md
index f91c39c7a5301d6a32b31c778d0da12f343862ce..f859781ea537809efb6d6f01548a73ec1c78bf56 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,8 @@
 
 * Add support for `shelf` `0.6.0`.
 
+* Fix a "failed to load" bug on Windows.
+
 ### 0.12.0-beta.2
 
 * Rename the package to `test`. The `unittest` package will continue to exist
diff --git a/lib/src/util/io.dart b/lib/src/util/io.dart
index 39c336ac84ddff329fcecdc6fee2f9932b7110f5..4fd8c7e7a7e0e4ded2735a32555911441881d791 100644
--- a/lib/src/util/io.dart
+++ b/lib/src/util/io.dart
@@ -100,7 +100,7 @@ String packageRootFor(String path, [String override]) {
     throw new LoadException(path, "Directory $packageRoot does not exist.");
   }
 
-  return packageRoot;
+  return p.toUri(packageRoot).toString();
 }
 
 /// The library name must be globally unique, or the wrong library path may be
diff --git a/pubspec.yaml b/pubspec.yaml
index 07ff763e6dd83c1378b083417f335cfa69258a7d..b26c9d3f3bb891e703a394e0fe7e3082b2d40d0f 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: test
-version: 0.12.0-beta.2
+version: 0.12.0-dev
 author: Dart Team <misc@dartlang.org>
 description: A library for writing dart unit tests.
 homepage: https://github.com/dart-lang/test