Index: ProjectBase.cs
===================================================================
--- ProjectBase.cs	(revision 118)
+++ ProjectBase.cs	(working copy)
@@ -804,17 +804,27 @@
         /// <summary>
         /// Visual Studio.NET 2002
         /// </summary>
-        Rainier = 1,
+        Rainier = 70,
 
         /// <summary>
         /// Visual Studio.NET 2003
         /// </summary>
-        Everett = 2,
+        Everett = 71,
 
         /// <summary>
         /// Visual Studio 2005
         /// </summary>
-        Whidbey =3,
+        Whidbey = 80,
+
+        /// <summary>
+        /// Visual Studio 2008
+        /// </summary>
+        Orcas = 90,
+
+        /// <summary>
+        /// Visual Studio 2010
+        /// </summary>
+        Rosario = 100,
     }
 
     /// <summary>
Index: SolutionBase.cs
===================================================================
--- SolutionBase.cs	(revision 118)
+++ SolutionBase.cs	(working copy)
@@ -561,8 +561,16 @@
             }
 
             try {
+#if NET_2_0
+                Uri uri = null;
+                Uri.TryCreate(translatedPath, UriKind.Absolute, out uri);
+#else
                 Uri uri = new Uri(translatedPath);
-                if (uri.Scheme == Uri.UriSchemeFile) {
+#endif
+                if(uri==null) {
+                    translatedPath = FileUtils.GetFullPath(FileUtils.CombinePaths( 
+                        solutionDir, translatedPath));
+                } else if (uri.Scheme == Uri.UriSchemeFile) {
                     translatedPath = FileUtils.GetFullPath(FileUtils.CombinePaths(
                         solutionDir, uri.LocalPath));
                 } else {
