diff --git a/Content/Content.contentproj b/Content/Content.contentproj
new file mode 100644
index 0000000..85513d0
--- /dev/null
+++ b/Content/Content.contentproj
@@ -0,0 +1,43 @@
+
+
+ 6ee65cf8-1a2e-4570-bc9a-8c6b403154be
+ {96E2B04D-8817-42c6-938A-82C39BA4D311};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ Debug
+ x86
+ Library
+ Properties
+ v2.0
+ x86
+ bin\$(Platform)\$(Configuration)
+
+
+ Windows
+
+
+ Windows
+
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+
+
+
+
+
diff --git a/Nuclex.Support.txt b/Documents/Nuclex.Support.txt
similarity index 100%
rename from Nuclex.Support.txt
rename to Documents/Nuclex.Support.txt
diff --git a/Nuclex.Support (PC).csproj b/Nuclex.Support (PC).csproj
deleted file mode 100644
index af6d34b..0000000
--- a/Nuclex.Support (PC).csproj
+++ /dev/null
@@ -1,335 +0,0 @@
-
-
- {A696702E-AFAD-45E7-88FA-1E2520E5E746}
- {9F340DF3-2AED-4330-AC16-78AC2D9B4738};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- Debug
- x86
- Library
- Properties
- Nuclex.Support
- Nuclex.Support
- v1.0
- Windows
- Microsoft.Xna.Framework.Content.Pipeline.EffectImporter.dll;Microsoft.Xna.Framework.Content.Pipeline.FBXImporter.dll;Microsoft.Xna.Framework.Content.Pipeline.TextureImporter.dll;Microsoft.Xna.Framework.Content.Pipeline.XImporter.dll
-
-
-
-
- true
- full
- false
- bin\x86\Debug
- TRACE;DEBUG;UNITTEST
- prompt
- 4
- true
- false
- x86
- Documents\Nuclex.Support.xml
-
-
- pdbonly
- true
- bin\x86\Release
- TRACE;UNITTEST
- prompt
- 4
- true
- false
- x86
- Documents\Nuclex.Support.xml
-
-
-
- False
-
-
- False
-
-
- False
-
-
- False
- ..\References\nmock\net-2.0\NMock2.dll
-
-
- False
- ..\References\nunit\net-2.0\nunit.framework.dll
-
-
- False
-
-
-
-
-
-
- false
- ItemEventArgs
-
-
- false
- ObservableCollection
-
-
- false
- ObservableCollection.Test
- ObservableCollection.cs
-
-
- false
- PriorityItemPair
-
-
- false
- TransformingReadOnlyCollection
-
-
- false
- TransformingReadOnlyCollection.Interfaces
- TransformingReadOnlyCollection.cs
-
-
- false
- PairPriorityQueue
-
-
- false
- Parentable
-
-
- false
- ParentingCollection
-
-
- false
- PriorityQueue
-
-
- false
- PriorityQueue.Test
- PriorityQueue.cs
-
-
- false
- RingMemoryStream
-
-
- false
- AssemblyInfo
-
-
- false
- RingMemoryStream.Test
- RingMemoryStream.cs
-
-
- false
- PairPriorityQueue.Test
- PairPriorityQueue.cs
-
-
- false
- LicenseKey
-
-
- false
- LicenseKey.Test
- LicenseKey.cs
-
-
- false
- ArevaloRectanglePacker
-
-
- false
- ArevaloRectanglePacker.Test
- ArevaloRectanglePacker.cs
-
-
- false
- CygonRectanglePacker
-
-
- false
- CygonRectanglePacker.Test
- CygonRectanglePacker.cs
-
-
- false
- OutOfSpaceException
-
-
- false
- RectanglePacker
-
-
- false
- RectanglePacker.Test
- RectanglePacker.cs
-
-
- false
- SimpleRectanglePacker
-
-
- false
- SimpleRectanglePacker.Test
- SimpleRectanglePacker.cs
-
-
- false
- CommandLineParser
-
-
- false
- CommandLineParser.Test
- CommandLineParser.cs
-
-
- false
- PathHelper
-
-
- false
- PathHelper.Test
- PathHelper.cs
-
-
- false
- AbortedException
-
-
- false
- QueueOperation
-
-
- false
- QueueOperation.Test
- QueueOperation.cs
-
-
- false
- ThreadOperation
-
-
- false
- BinarySerializer.Test
- BinarySerializer.cs
-
-
- false
- IBinarySerializable
-
-
- false
- BinarySerializer
-
-
- false
- IAbortable
-
-
- false
- BoundingRectangle
-
-
- false
- RTree2
-
-
- false
- RTreeLeaf2
-
-
- false
- RTreeNode2
-
-
- false
- SpatialIndex2
-
-
- false
- IdleStateEventArgs
-
-
- false
- ObservedWeightedProgression
-
-
- false
- IStatusReporter
-
-
- false
- ProgressionTracker
-
-
- false
- ProgressionTracker.Test
- ProgressionTracker.cs
-
-
- false
- SetProgression
-
-
- false
- Operation
-
-
- false
- Progression
-
-
- false
- ProgressUpdateEventArgs
-
-
- false
- ThreadCallbackOperation
-
-
- false
- SetProgression.Test
- SetProgression.cs
-
-
- false
- StatusReportEventArgs
-
-
- false
- WeightedProgression
-
-
- false
- WeightedProgressionWrapperCollection
-
-
- false
- WeakReference
-
-
-
-
- false
- Nuclex.Support
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Nuclex.Support (x86).csproj b/Nuclex.Support (x86).csproj
new file mode 100644
index 0000000..b5ce502
--- /dev/null
+++ b/Nuclex.Support (x86).csproj
@@ -0,0 +1,173 @@
+
+
+ {471344D7-583D-4B40-BAC4-4E85E77441A9}
+ {6D335F3A-9D43-41b4-9D22-F6F17C4BE596};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ Debug
+ x86
+ Library
+ Properties
+ Nuclex.Support
+ Nuclex.Support
+ v2.0
+ Windows
+ 900541a8-f81a-448e-b55d-0e89f7ce9166
+
+
+ true
+ full
+ false
+ bin\x86\Debug
+ TRACE;DEBUG;UNITTEST
+ prompt
+ 4
+ true
+ false
+ x86
+ Documents\Nuclex.Support.xml
+
+
+ pdbonly
+ true
+ bin\x86\Release
+ TRACE;UNITTEST
+ prompt
+ 4
+ true
+ false
+ x86
+ Documents\Nuclex.Support.xml
+
+
+
+ False
+ True
+
+
+ False
+ True
+
+
+ False
+
+
+ False
+ ..\References\nmock\net-2.0\NMock2.dll
+
+
+ False
+ ..\References\nunit\net-2.0\nunit.framework.dll
+
+
+ False
+
+
+
+
+
+
+
+ ObservableCollection.cs
+
+
+
+ PairPriorityQueue.cs
+
+
+
+
+
+
+ PriorityQueue.cs
+
+
+
+ RingMemoryStream.cs
+
+
+
+
+
+ LicenseKey.cs
+
+
+
+ ArevaloRectanglePacker.cs
+
+
+
+ CygonRectanglePacker.cs
+
+
+
+
+ RectanglePacker.cs
+
+
+
+ SimpleRectanglePacker.cs
+
+
+
+ CommandLineParser.cs
+
+
+
+ PathHelper.cs
+
+
+
+
+
+
+ QueueOperation.cs
+
+
+
+
+
+ BinarySerializer.cs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ProgressionTracker.cs
+
+
+
+
+ ProgressionTracker.cs
+
+
+
+
+
+
+
+ 6ee65cf8-1a2e-4570-bc9a-8c6b403154be
+ False
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Nuclex.Support.build b/Nuclex.Support.build
deleted file mode 100644
index 3c9f37c..0000000
--- a/Nuclex.Support.build
+++ /dev/null
@@ -1,81 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Source/PathHelper.cs b/Source/PathHelper.cs
index 5b38e13..8521fd6 100644
--- a/Source/PathHelper.cs
+++ b/Source/PathHelper.cs
@@ -39,13 +39,13 @@ namespace Nuclex.Support {
// Calculate the required length for the StrinBuilder to be slightly more
// friendly in terms of memory usage.
int requiredLength = (baseDirectories.Length - (lastCommonRoot + 1)) * 3;
- for(int index = lastCommonRoot + 1; index < absoluteDirectories.Length; index++)
+ for(int index = lastCommonRoot + 1; index < absoluteDirectories.Length; ++index)
requiredLength += absoluteDirectories[index].Length + 1;
StringBuilder relativePath = new StringBuilder(requiredLength);
// Go to the common path by adding .. until we're where we want to be
- for(int index = lastCommonRoot + 1; index < baseDirectories.Length; index++) {
+ for(int index = lastCommonRoot + 1; index < baseDirectories.Length; ++index) {
if(baseDirectories[index].Length > 0) {
if(relativePath.Length > 0) // We don't want the path to start with a slash
relativePath.Append(Path.DirectorySeparatorChar);