diff --git a/activemq-dotnet/activemq-dotnet.csproj b/activemq-dotnet/activemq-dotnet.csproj
new file mode 100644
index 0000000000..9a8b676f73
--- /dev/null
+++ b/activemq-dotnet/activemq-dotnet.csproj
@@ -0,0 +1,212 @@
+
+
+ Debug
+ AnyCPU
+ 8.0.30703
+ 2.0
+ {08321F42-4B3D-4815-B592-95962BAC3B9F}
+ Library
+ activemq-dotnet
+ activemq-dotnet
+ 4
+
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ false
+
+
+ false
+ true
+ bin\Release\
+ TRACE
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/activemq-dotnet/activemq-dotnet.sln b/activemq-dotnet/activemq-dotnet.sln
new file mode 100644
index 0000000000..027db79e03
--- /dev/null
+++ b/activemq-dotnet/activemq-dotnet.sln
@@ -0,0 +1,18 @@
+Microsoft Visual Studio Solution File, Format Version 9.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "activemq_dotnet", "activemq-dotnet.csproj", "{08321F42-4B3D-4815-B592-95962BAC3B9F}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {08321F42-4B3D-4815-B592-95962BAC3B9F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {08321F42-4B3D-4815-B592-95962BAC3B9F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {08321F42-4B3D-4815-B592-95962BAC3B9F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {08321F42-4B3D-4815-B592-95962BAC3B9F}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/activemq-dotnet/nant.build b/activemq-dotnet/nant.build
index 111fef7089..e4491f0786 100644
--- a/activemq-dotnet/nant.build
+++ b/activemq-dotnet/nant.build
@@ -1,20 +1,16 @@
-
+
+
+
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -426,74 +92,143 @@
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
- #!/bin/sh
- exec ${path::combine(prefix, 'bin')}/mono ${path::combine(install.copylocation, 'bin')}/OpenWire.exe "$@"
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/activemq-dotnet/src/main/csharp/ActiveMQ/OpenWire/OpenWireBinaryWriter.cs b/activemq-dotnet/src/main/csharp/ActiveMQ/OpenWire/OpenWireBinaryWriter.cs
index 4c1016e226..b302a3ebee 100644
--- a/activemq-dotnet/src/main/csharp/ActiveMQ/OpenWire/OpenWireBinaryWriter.cs
+++ b/activemq-dotnet/src/main/csharp/ActiveMQ/OpenWire/OpenWireBinaryWriter.cs
@@ -1,194 +1,194 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-using ActiveMQ.Commands;
-using System;
-using System.Collections;
-using System.IO;
-using System.Text;
-
-namespace ActiveMQ.OpenWire
-{
- ///
- /// A BinaryWriter that switches the endian orientation of the write opperations so that they
- /// are compatible with marshalling used by OpenWire.
- ///
- public class OpenWireBinaryWriter : BinaryWriter
- {
-
- public OpenWireBinaryWriter(Stream output) : base(output)
- {
- }
-
- ///
- /// Method Write
- ///
- /// A long
- public override void Write(long value)
- {
- base.Write(EndianSupport.SwitchEndian(value));
- }
-
- ///
- /// Method Write
- ///
- /// An ushort
- public override void Write(ushort value)
- {
- base.Write(EndianSupport.SwitchEndian(value));
- }
-
- ///
- /// Method Write
- ///
- /// An int
- public override void Write(int value)
- {
- int x = EndianSupport.SwitchEndian(value);
- base.Write(x);
- }
-
- ///
- /// Method Write
- ///
- /// A char[]
- /// An int
- /// An int
- public override void Write(char[] chars, int index, int count)
- {
- char[] t = new char[count];
- for( int i=0; i < count; i++ ) {
- t[index+i] = EndianSupport.SwitchEndian(t[index+i]);
- }
- base.Write(t);
- }
-
- ///
- /// Method Write
- ///
- /// A char[]
- public override void Write(char[] chars)
- {
- Write(chars, 0, chars.Length);
- }
-
- ///
- /// Method Write
- ///
- /// An uint
- public override void Write(uint value)
- {
- base.Write(EndianSupport.SwitchEndian(value));
- }
-
-
- ///
- /// Method Write
- ///
- /// A char
- public override void Write(char ch)
- {
- base.Write(EndianSupport.SwitchEndian(ch));
- }
-
- ///
- /// Method Write
- ///
- /// An ulong
- public override void Write(ulong value)
- {
- base.Write(EndianSupport.SwitchEndian(value));
- }
-
- ///
- /// Method Write
- ///
- /// A short
- public override void Write(short value)
- {
- base.Write(EndianSupport.SwitchEndian(value));
- }
-
-
- ///
- /// Method Write
- ///
- /// A string
- public override void Write(String text)
- {
- if (text != null)
- {
- if( text.Length > short.MaxValue ) {
- throw new IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters");
- }
- short strlen = (short)text.Length;
- short utflen = 0;
- int c, count = 0;
-
- char[] charr = text.ToCharArray();
-
- for (int i = 0; i < strlen; i++)
- {
- c = charr[i];
- if ((c >= 0x0001) && (c <= 0x007F))
- {
- utflen++;
- }
- else if (c > 0x07FF)
- {
- utflen += 3;
- }
- else
- {
- utflen += 2;
- }
- }
-
- Write(utflen);
- byte[] bytearr = new byte[utflen];
- for (int i = 0; i < strlen; i++)
- {
- c = charr[i];
- if ((c >= 0x0001) && (c <= 0x007F))
- {
- bytearr[count++] = (byte) c;
- }
- else if (c > 0x07FF)
- {
- bytearr[count++] = (byte) (0xE0 | ((c >> 12) & 0x0F));
- bytearr[count++] = (byte) (0x80 | ((c >> 6) & 0x3F));
- bytearr[count++] = (byte) (0x80 | ((c >> 0) & 0x3F));
- }
- else
- {
- bytearr[count++] = (byte) (0xC0 | ((c >> 6) & 0x1F));
- bytearr[count++] = (byte) (0x80 | ((c >> 0) & 0x3F));
- }
- }
-
- Write(bytearr);
-
- }
- else
- {
- Write((short)-1);
- }
- }
- }
-
-
-}
-
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+using ActiveMQ.Commands;
+using System;
+using System.Collections;
+using System.IO;
+using System.Text;
+
+namespace ActiveMQ.OpenWire
+{
+ ///
+ /// A BinaryWriter that switches the endian orientation of the write opperations so that they
+ /// are compatible with marshalling used by OpenWire.
+ ///
+ public class OpenWireBinaryWriter : BinaryWriter
+ {
+
+ public OpenWireBinaryWriter(Stream output) : base(output)
+ {
+ }
+
+ ///
+ /// Method Write
+ ///
+ /// A long
+ public override void Write(long value)
+ {
+ base.Write(EndianSupport.SwitchEndian(value));
+ }
+
+ ///
+ /// Method Write
+ ///
+ /// An ushort
+ public override void Write(ushort value)
+ {
+ base.Write(EndianSupport.SwitchEndian(value));
+ }
+
+ ///
+ /// Method Write
+ ///
+ /// An int
+ public override void Write(int value)
+ {
+ int x = EndianSupport.SwitchEndian(value);
+ base.Write(x);
+ }
+
+ ///
+ /// Method Write
+ ///
+ /// A char[]
+ /// An int
+ /// An int
+ public override void Write(char[] chars, int index, int count)
+ {
+ char[] t = new char[count];
+ for( int i=0; i < count; i++ ) {
+ t[index+i] = EndianSupport.SwitchEndian(t[index+i]);
+ }
+ base.Write(t);
+ }
+
+ ///
+ /// Method Write
+ ///
+ /// A char[]
+ public override void Write(char[] chars)
+ {
+ Write(chars, 0, chars.Length);
+ }
+
+ ///
+ /// Method Write
+ ///
+ /// An uint
+ public override void Write(uint value)
+ {
+ base.Write(EndianSupport.SwitchEndian(value));
+ }
+
+
+ ///
+ /// Method Write
+ ///
+ /// A char
+ public override void Write(char ch)
+ {
+ base.Write(EndianSupport.SwitchEndian(ch));
+ }
+
+ ///
+ /// Method Write
+ ///
+ /// An ulong
+ public override void Write(ulong value)
+ {
+ base.Write(EndianSupport.SwitchEndian(value));
+ }
+
+ ///
+ /// Method Write
+ ///
+ /// A short
+ public override void Write(short value)
+ {
+ base.Write(EndianSupport.SwitchEndian(value));
+ }
+
+
+ ///
+ /// Method Write
+ ///
+ /// A string
+ public override void Write(String text)
+ {
+ if (text != null)
+ {
+ if( text.Length > short.MaxValue ) {
+ throw new IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters");
+ }
+ short strlen = (short)text.Length;
+ short utflen = 0;
+ int c, count = 0;
+
+ char[] charr = text.ToCharArray();
+
+ for (int i = 0; i < strlen; i++)
+ {
+ c = charr[i];
+ if ((c >= 0x0001) && (c <= 0x007F))
+ {
+ utflen++;
+ }
+ else if (c > 0x07FF)
+ {
+ utflen += 3;
+ }
+ else
+ {
+ utflen += 2;
+ }
+ }
+
+ Write(utflen);
+ byte[] bytearr = new byte[utflen];
+ for (int i = 0; i < strlen; i++)
+ {
+ c = charr[i];
+ if ((c >= 0x0001) && (c <= 0x007F))
+ {
+ bytearr[count++] = (byte) c;
+ }
+ else if (c > 0x07FF)
+ {
+ bytearr[count++] = (byte) (0xE0 | ((c >> 12) & 0x0F));
+ bytearr[count++] = (byte) (0x80 | ((c >> 6) & 0x3F));
+ bytearr[count++] = (byte) (0x80 | ((c >> 0) & 0x3F));
+ }
+ else
+ {
+ bytearr[count++] = (byte) (0xC0 | ((c >> 6) & 0x1F));
+ bytearr[count++] = (byte) (0x80 | ((c >> 0) & 0x3F));
+ }
+ }
+
+ Write(bytearr);
+
+ }
+ else
+ {
+ Write((short)-1);
+ }
+ }
+ }
+
+
+}
+
diff --git a/activemq-dotnet/src/main/csharp/org/apache/activemq/App.cs b/activemq-dotnet/src/main/csharp/org/apache/activemq/App.cs
deleted file mode 100644
index 8a68840a7c..0000000000
--- a/activemq-dotnet/src/main/csharp/org/apache/activemq/App.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System;
-
-namespace org.apache.activemq
-{
- ///
- /// Sample Maven Dotnet App
- ///
- public class App
- {
- ///
- /// A public call on the library...
- ///
- public void doSomething()
- {
- Console.WriteLine("Hello World");
- }
- }
-}
diff --git a/activemq-dotnet/src/main/csharp/org/apache/activemq/AssemblyInfo.cs b/activemq-dotnet/src/main/csharp/org/apache/activemq/AssemblyInfo.cs
deleted file mode 100644
index 177a4f0e70..0000000000
--- a/activemq-dotnet/src/main/csharp/org/apache/activemq/AssemblyInfo.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-//
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-//
-[assembly: AssemblyTitle("")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("")]
-[assembly: AssemblyCopyright("")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-//
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-
-[assembly: AssemblyVersion("1.0.*")]
-
-//
-// In order to sign your assembly you must specify a key to use. Refer to the
-// Microsoft .NET Framework documentation for more information on assembly signing.
-//
-// Use the attributes below to control which key is used for signing.
-//
-// Notes:
-// (*) If no key is specified, the assembly is not signed.
-// (*) KeyName refers to a key that has been installed in the Crypto Service
-// Provider (CSP) on your machine. KeyFile refers to a file which contains
-// a key.
-// (*) If the KeyFile and the KeyName values are both specified, the
-// following processing occurs:
-// (1) If the KeyName can be found in the CSP, that key is used.
-// (2) If the KeyName does not exist and the KeyFile does exist, the key
-// in the KeyFile is installed into the CSP and used.
-// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
-// When specifying the KeyFile, the location of the KeyFile should be
-// relative to the project output directory which is
-// %Project Directory%\obj\. For example, if your KeyFile is
-// located in the project directory, you would specify the AssemblyKeyFile
-// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
-// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
-// documentation for more information on this.
-//
-[assembly: AssemblyDelaySign(false)]
-[assembly: AssemblyKeyFile("")]
-[assembly: AssemblyKeyName("")]
diff --git a/activemq-dotnet/src/test/csharp/org/apache/activemq/AppTest.cs b/activemq-dotnet/src/test/csharp/org/apache/activemq/AppTest.cs
deleted file mode 100644
index 7920cf8fb6..0000000000
--- a/activemq-dotnet/src/test/csharp/org/apache/activemq/AppTest.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System;
-
-using NUnit.Framework;
-
-namespace org.apache.activemq
-{
- ///
- /// A very simple example of a dotnet test.
- ///
- [TestFixture] public class AppTest
- {
-
- [Test] public void doTest()
- {
- Assert.AreEqual(true, true);
- Console.WriteLine("Who said Java and dotnet don\'t mix? :-)");
- }
-
-
- }
-}
\ No newline at end of file