You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2006/10/19 07:44:07 UTC

svn commit: r465501 - in /incubator/activemq/activemq-dotnet/trunk: ./ src/main/csharp/ActiveMQ/ src/main/csharp/ActiveMQ/Transport/ src/main/csharp/ActiveMQ/Util/ src/test/csharp/MSMQ/

Author: chirino
Date: Wed Oct 18 22:44:03 2006
New Revision: 465501

URL: http://svn.apache.org/viewvc?view=rev&rev=465501
Log:
Adding vs2005 project files for the .NET Compact Framework part of patch in http://issues.apache.org/activemq/browse/AMQ-969
Thanks Oleg!

Also modified all our uses of the Monitor.Wait and Monitor.PulseAll so that it uses AutoResetEvent and ManaualResetEvent objects instead so that we 
are compatible with the Compact Framework..  All that's left is to figure out how to unit test under the Conpact Framework.


Added:
    incubator/activemq/activemq-dotnet/trunk/src/test/csharp/MSMQ/CommonAssemblyInfo.cs
    incubator/activemq/activemq-dotnet/trunk/vs2005-activemq-cf20.csproj
    incubator/activemq/activemq-dotnet/trunk/vs2005-nms-cf20.csproj
Modified:
    incubator/activemq/activemq-dotnet/trunk/src/main/csharp/ActiveMQ/Dispatcher.cs
    incubator/activemq/activemq-dotnet/trunk/src/main/csharp/ActiveMQ/Transport/FutureResponse.cs
    incubator/activemq/activemq-dotnet/trunk/src/main/csharp/ActiveMQ/Transport/WireFormatNegotiator.cs
    incubator/activemq/activemq-dotnet/trunk/src/main/csharp/ActiveMQ/Util/CountDownLatch.cs
    incubator/activemq/activemq-dotnet/trunk/src/main/csharp/ActiveMQ/Util/URISupport.cs
    incubator/activemq/activemq-dotnet/trunk/vs2005.sln

Modified: incubator/activemq/activemq-dotnet/trunk/src/main/csharp/ActiveMQ/Dispatcher.cs
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-dotnet/trunk/src/main/csharp/ActiveMQ/Dispatcher.cs?view=diff&rev=465501&r1=465500&r2=465501
==============================================================================
--- incubator/activemq/activemq-dotnet/trunk/src/main/csharp/ActiveMQ/Dispatcher.cs (original)
+++ incubator/activemq/activemq-dotnet/trunk/src/main/csharp/ActiveMQ/Dispatcher.cs Wed Oct 18 22:44:03 2006
@@ -31,6 +31,7 @@
         Queue queue = new Queue();
         Object semaphore = new Object();
         ArrayList messagesToRedeliver = new ArrayList();
+        readonly AutoResetEvent resetEvent = new AutoResetEvent(false);
 		
         /// <summary>
         /// Whem we start a transaction we must redeliver any rolled back messages
@@ -52,7 +53,8 @@
                     replacement.Enqueue(element);
                 }
                 queue = replacement;
-                Monitor.PulseAll(semaphore);
+                if (queue.Count > 0)
+                    resetEvent.Set();
             }
         }
         
@@ -75,7 +77,7 @@
             lock (semaphore)
             {
                 queue.Enqueue(message);
-                Monitor.PulseAll(semaphore);
+                resetEvent.Set();
             }
         }
         
@@ -84,33 +86,36 @@
         /// </summary>
         public IMessage DequeueNoWait()
         {
+            IMessage rc = null;
             lock (semaphore)
             {
                 if (queue.Count > 0)
                 {
-                    return (IMessage) queue.Dequeue();
-                }
+                    rc = (IMessage) queue.Dequeue();
+                    if (queue.Count > 0)
+                    {
+                        resetEvent.Set();
+                    }
+                } 
             }
-            return null;
+            return rc;
         }
-        
+
         /// <summary>
         /// Method Dequeue
         /// </summary>
         public IMessage Dequeue(TimeSpan timeout)
         {
-            lock (semaphore)
+            IMessage rc = DequeueNoWait();
+            while (rc == null)
             {
-                if (queue.Count == 0)
-                {
-                    Monitor.Wait(semaphore, timeout);
-                }
-                if (queue.Count > 0)
+                if( !resetEvent.WaitOne((int)timeout.TotalMilliseconds, false) )
                 {
-                    return (IMessage) queue.Dequeue();
+                    break;
                 }
+                rc = DequeueNoWait();
             }
-            return null;
+            return rc;
         }
         
         /// <summary>
@@ -118,10 +123,16 @@
         /// </summary>
         public IMessage Dequeue()
         {
-            lock (semaphore)
+            IMessage rc = DequeueNoWait();
+            while (rc == null)
             {
-                return (IMessage) queue.Dequeue();
+                if (!resetEvent.WaitOne(-1, false))
+                {
+                    break;
+                }
+                rc = DequeueNoWait();
             }
+            return rc;
         }
         
     }

Modified: incubator/activemq/activemq-dotnet/trunk/src/main/csharp/ActiveMQ/Transport/FutureResponse.cs
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-dotnet/trunk/src/main/csharp/ActiveMQ/Transport/FutureResponse.cs?view=diff&rev=465501&r1=465500&r2=465501
==============================================================================
--- incubator/activemq/activemq-dotnet/trunk/src/main/csharp/ActiveMQ/Transport/FutureResponse.cs (original)
+++ incubator/activemq/activemq-dotnet/trunk/src/main/csharp/ActiveMQ/Transport/FutureResponse.cs Wed Oct 18 22:44:03 2006
@@ -17,6 +17,7 @@
 using ActiveMQ.Commands;
 using System;
 using System.Threading;
+using ActiveMQ.Util;
 
 namespace ActiveMQ.Transport
 {
@@ -24,35 +25,18 @@
 	/// <summary>
 	/// Handles asynchronous responses
 	/// </summary>
-	public class FutureResponse : IAsyncResult
+	public class FutureResponse 
     {
-        
+	    
+        private static int maxWait = -1;
+
+        private readonly CountDownLatch latch = new CountDownLatch(1);
         private Response response;
-        private Mutex asyncWaitHandle = new Mutex();
-        private Object semaphore = new Object();
-        private int maxWait = 3000;
-        private bool isCompleted;
         
         public WaitHandle AsyncWaitHandle
         {
-            get { return asyncWaitHandle; }
-        }
-        
-        public object AsyncState
-        {
-            get { return response; }
-            set { Response = (Response) value; }
-        }
-        
-        public bool IsCompleted
-        {
-            get { return isCompleted; }
-        }
-        
-        public bool CompletedSynchronously
-        {
-            get { return false; }
-        }
+            get { return latch.AsyncWaitHandle; }
+        }        
         
         public Response Response
         {
@@ -62,25 +46,25 @@
                 {
                     try
 					{
-						lock (semaphore)
-						{
-							Monitor.Wait(semaphore, maxWait);
-						}
+                        latch.await(maxWait);
                     }
                     catch (Exception e)
 					{
                         Tracer.Error("Caught while waiting on monitor: " + e);
                     }
                 }
-                return response;
+                lock (latch)
+                {
+                    return response;
+                }
             }
+            
             set {
-                lock (semaphore)
+                lock (latch)
                 {
                     response = value;
-                    isCompleted = true;
-                    Monitor.PulseAll(semaphore);
                 }
+                latch.countDown();
             }
         }
     }

Modified: incubator/activemq/activemq-dotnet/trunk/src/main/csharp/ActiveMQ/Transport/WireFormatNegotiator.cs
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-dotnet/trunk/src/main/csharp/ActiveMQ/Transport/WireFormatNegotiator.cs?view=diff&rev=465501&r1=465500&r2=465501
==============================================================================
--- incubator/activemq/activemq-dotnet/trunk/src/main/csharp/ActiveMQ/Transport/WireFormatNegotiator.cs (original)
+++ incubator/activemq/activemq-dotnet/trunk/src/main/csharp/ActiveMQ/Transport/WireFormatNegotiator.cs Wed Oct 18 22:44:03 2006
@@ -31,7 +31,7 @@
     public class WireFormatNegotiator : TransportFilter
     {
         private OpenWireFormat wireFormat;
-        private TimeSpan negotiateTimeout=new TimeSpan(0,0,15);
+        private int negotiateTimeout=15000;
     
         private AtomicBoolean firstStart=new AtomicBoolean(true);
         private CountDownLatch readyCountDownLatch = new CountDownLatch(1);

Modified: incubator/activemq/activemq-dotnet/trunk/src/main/csharp/ActiveMQ/Util/CountDownLatch.cs
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-dotnet/trunk/src/main/csharp/ActiveMQ/Util/CountDownLatch.cs?view=diff&rev=465501&r1=465500&r2=465501
==============================================================================
--- incubator/activemq/activemq-dotnet/trunk/src/main/csharp/ActiveMQ/Util/CountDownLatch.cs (original)
+++ incubator/activemq/activemq-dotnet/trunk/src/main/csharp/ActiveMQ/Util/CountDownLatch.cs Wed Oct 18 22:44:03 2006
@@ -15,14 +15,15 @@
  * limitations under the License.
  */
 using System;
-using System.Text;
 using System.Threading;
 
 namespace ActiveMQ.Util
 {
     class CountDownLatch
     {
+        readonly ManualResetEvent mutex = new ManualResetEvent(false);
         int remaining;
+        
         public CountDownLatch(int i)
         {
             remaining=i;
@@ -30,29 +31,38 @@
 
         public void countDown()
         {
-            lock(this)
+            lock (mutex)
             {
-                if( remaining > 0 ) {
+                if( remaining > 0 )
+                {
                     remaining--;
-                    Monitor.PulseAll(this);
+                    if( remaining == 0 )
+                    {
+                        mutex.Set();
+                    }
                 }
             }
         }
 
-        public bool await(TimeSpan timeout)
+        public int Remaining
         {
-            lock (this)
-            {
-                if (remaining > 0)
+            get { 
+                lock(mutex)
                 {
-                    Monitor.Wait(this, timeout);
-                    if (remaining > 0)
-                    {
-                        return false;
-                    }
-                }
+                    return remaining;
+                }            
             }
-            return true;
         }
+        
+        public bool await(int timeout)
+        {
+            return mutex.WaitOne(timeout, false);
+        }
+
+        public WaitHandle AsyncWaitHandle
+        {
+            get { return mutex; }
+        }
+        
     }
 }

Modified: incubator/activemq/activemq-dotnet/trunk/src/main/csharp/ActiveMQ/Util/URISupport.cs
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-dotnet/trunk/src/main/csharp/ActiveMQ/Util/URISupport.cs?view=diff&rev=465501&r1=465500&r2=465501
==============================================================================
--- incubator/activemq/activemq-dotnet/trunk/src/main/csharp/ActiveMQ/Util/URISupport.cs (original)
+++ incubator/activemq/activemq-dotnet/trunk/src/main/csharp/ActiveMQ/Util/URISupport.cs Wed Oct 18 22:44:03 2006
@@ -16,6 +16,7 @@
  */
 using System;
 using System.Collections.Specialized;
+using System.Globalization;
 using System.Text;
 
 namespace ActiveMQ.Util
@@ -79,7 +80,7 @@
 					System.Reflection.PropertyInfo prop = type.GetProperty(bareKey, System.Reflection.BindingFlags.FlattenHierarchy | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.IgnoreCase);
 					if (prop != null)
 					{
-						prop.SetValue(target, Convert.ChangeType(map[key], prop.PropertyType), null);
+                        prop.SetValue(target, Convert.ChangeType(map[key], prop.PropertyType, CultureInfo.InvariantCulture), null);
 					}
 					else
 					{ 

Added: incubator/activemq/activemq-dotnet/trunk/src/test/csharp/MSMQ/CommonAssemblyInfo.cs
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-dotnet/trunk/src/test/csharp/MSMQ/CommonAssemblyInfo.cs?view=auto&rev=465501
==============================================================================
--- incubator/activemq/activemq-dotnet/trunk/src/test/csharp/MSMQ/CommonAssemblyInfo.cs (added)
+++ incubator/activemq/activemq-dotnet/trunk/src/test/csharp/MSMQ/CommonAssemblyInfo.cs Wed Oct 18 22:44:03 2006
@@ -0,0 +1,27 @@
+using System;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:2.0.50727.42
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+[assembly: ComVisibleAttribute(false)]
+[assembly: CLSCompliantAttribute(true)]
+[assembly: AssemblyTitleAttribute("Apache NMS for MSMQ Tests")]
+[assembly: AssemblyDescriptionAttribute("Unit Tests for the NMS (.Net Messaging Library) to MSMQ")]
+[assembly: AssemblyConfigurationAttribute("SNAPSHOT")]
+[assembly: AssemblyCompanyAttribute("http://incubator.apache.org/activemq/")]
+[assembly: AssemblyProductAttribute("Apache ActiveMQ")]
+[assembly: AssemblyCopyrightAttribute("Copyright (C) 2005-2006 Apache Software Foundation")]
+[assembly: AssemblyTrademarkAttribute("")]
+[assembly: AssemblyCultureAttribute("")]
+[assembly: AssemblyVersionAttribute("4.0")]
+[assembly: AssemblyInformationalVersionAttribute("4.0")]
+

Added: incubator/activemq/activemq-dotnet/trunk/vs2005-activemq-cf20.csproj
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-dotnet/trunk/vs2005-activemq-cf20.csproj?view=auto&rev=465501
==============================================================================
--- incubator/activemq/activemq-dotnet/trunk/vs2005-activemq-cf20.csproj (added)
+++ incubator/activemq/activemq-dotnet/trunk/vs2005-activemq-cf20.csproj Wed Oct 18 22:44:03 2006
@@ -0,0 +1,743 @@
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.50727</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{B166EC33-6048-4231-BCCA-6C5AE55139A3}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>ActiveMQ</RootNamespace>
+    <AssemblyName>Apache.ActiveMQ.CF20</AssemblyName>
+    <ProjectTypeGuids>{4D628B5B-2FBC-4AA6-8C16-197242AEB884};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+    <PlatformFamilyName>PocketPC</PlatformFamilyName>
+    <PlatformID>3C41C503-53EF-4c2a-8DD4-A8217CAD115E</PlatformID>
+    <OSVersion>4.20</OSVersion>
+    <DeployDirSuffix>vs2005_activemq_cf20</DeployDirSuffix>
+    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+    <FormFactorID>
+    </FormFactorID>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>TRACE;DEBUG;PocketPC, NETCF, NETCF_2_0</DefineConstants>
+    <NoStdLib>true</NoStdLib>
+    <NoConfig>true</NoConfig>
+    <ErrorReport>prompt</ErrorReport>
+    <FileAlignment>512</FileAlignment>
+    <WarningLevel>4</WarningLevel>
+    <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE;$(PlatformFamilyName)</DefineConstants>
+    <NoStdLib>true</NoStdLib>
+    <NoConfig>true</NoConfig>
+    <ErrorReport>prompt</ErrorReport>
+    <FileAlignment>512</FileAlignment>
+    <WarningLevel>4</WarningLevel>
+    <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="mscorlib" />
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="activemq-dotnet.snk" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="src\main\csharp\ActiveMQ\BrokerException.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\ActiveMQBytesMessage.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\ActiveMQDestination.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\ActiveMQMapMessage.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\ActiveMQMessage.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\ActiveMQObjectMessage.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\ActiveMQQueue.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\ActiveMQStreamMessage.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\ActiveMQTempDestination.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\ActiveMQTempQueue.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\ActiveMQTempTopic.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\ActiveMQTextMessage.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\ActiveMQTopic.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\BaseCommand.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\BaseDataStructure.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\BooleanExpression.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\BrokerError.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\BrokerId.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\BrokerInfo.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\Command.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\ConnectionControl.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\ConnectionError.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\ConnectionId.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\ConnectionInfo.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\ConsumerControl.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\ConsumerId.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\ConsumerInfo.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\ControlCommand.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\DataArrayResponse.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\DataResponse.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\DataStructure.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\DataStructureSupport.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\DestinationInfo.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\DiscoveryEvent.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\ExceptionResponse.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\FlushCommand.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\IntegerResponse.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\JournalQueueAck.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\JournalTopicAck.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\JournalTrace.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\JournalTransaction.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\KeepAliveInfo.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\LastPartialCommand.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\LocalTransactionId.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\MarshallAware.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\Message.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\MessageAck.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\MessageDispatch.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\MessageDispatchNotification.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\MessageId.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\MessagePull.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\MessageReference.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\NetworkBridgeFilter.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\PartialCommand.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\ProducerId.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\ProducerInfo.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\RemoveInfo.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\RemoveSubscriptionInfo.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\ReplayCommand.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\Response.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\SessionId.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\SessionInfo.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\ShutdownInfo.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\SubscriptionInfo.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\TransactionId.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\TransactionInfo.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\WireFormatInfo.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\XATransactionId.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Commands\Xid.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\CommonAssemblyInfo.cs" />
+    <Compile Include="src\main\csharp\ActiveMQ\Connection.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\ConnectionClosedException.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\ConnectionFactory.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\ConsumerClosedException.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\DestinationFilter.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Dispatcher.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\ISynchronization.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\ITrace.cs" />
+    <Compile Include="src\main\csharp\ActiveMQ\MessageConsumer.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\MessageProducer.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\BaseDataStreamMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\BooleanStream.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\IMarshallerFactory.cs" />
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\EndianSupport.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\MessagePropertyHelper.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\OpenWireBinaryReader.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\OpenWireBinaryWriter.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\OpenWireFormat.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\PrimitiveMap.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ActiveMQBytesMessageMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ActiveMQDestinationMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ActiveMQMapMessageMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ActiveMQMessageMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ActiveMQObjectMessageMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ActiveMQQueueMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ActiveMQStreamMessageMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ActiveMQTempDestinationMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ActiveMQTempQueueMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ActiveMQTempTopicMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ActiveMQTextMessageMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ActiveMQTopicMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\BaseCommandMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\BrokerIdMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\BrokerInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ConnectionControlMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ConnectionErrorMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ConnectionIdMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ConnectionInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ConsumerControlMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ConsumerIdMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ConsumerInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ControlCommandMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\DataArrayResponseMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\DataResponseMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\DataStructureSupportMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\DestinationInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\DiscoveryEventMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ExceptionResponseMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\FlushCommandMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\IntegerResponseMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\JournalQueueAckMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\JournalTopicAckMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\JournalTraceMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\JournalTransactionMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\KeepAliveInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\LastPartialCommandMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\LocalTransactionIdMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\MarshallerFactory.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\MessageAckMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\MessageDispatchMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\MessageDispatchNotificationMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\MessageIdMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\MessageMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\NetworkBridgeFilterMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\PartialCommandMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ProducerIdMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ProducerInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\RemoveInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\RemoveSubscriptionInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ReplayCommandMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ResponseMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\SessionIdMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\SessionInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\ShutdownInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\SubscriptionInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\TransactionIdMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\TransactionInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\WireFormatInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V1\XATransactionIdMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ActiveMQBytesMessageMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ActiveMQDestinationMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ActiveMQMapMessageMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ActiveMQMessageMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ActiveMQObjectMessageMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ActiveMQQueueMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ActiveMQStreamMessageMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ActiveMQTempDestinationMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ActiveMQTempQueueMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ActiveMQTempTopicMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ActiveMQTextMessageMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ActiveMQTopicMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\BaseCommandMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\BrokerIdMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\BrokerInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ConnectionControlMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ConnectionErrorMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ConnectionIdMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ConnectionInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ConsumerControlMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ConsumerIdMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ConsumerInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ControlCommandMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\DataArrayResponseMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\DataResponseMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\DestinationInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\DiscoveryEventMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ExceptionResponseMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\FlushCommandMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\IntegerResponseMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\JournalQueueAckMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\JournalTopicAckMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\JournalTraceMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\JournalTransactionMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\KeepAliveInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\LastPartialCommandMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\LocalTransactionIdMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\MarshallerFactory.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\MessageAckMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\MessageDispatchMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\MessageDispatchNotificationMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\MessageIdMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\MessageMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\MessagePullMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\NetworkBridgeFilterMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\PartialCommandMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ProducerIdMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ProducerInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\RemoveInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\RemoveSubscriptionInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ReplayCommandMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ResponseMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\SessionIdMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\SessionInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\ShutdownInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\SubscriptionInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\TransactionIdMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\TransactionInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\WireFormatInfoMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\OpenWire\V2\XATransactionIdMarshaller.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Session.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Tracer.cs" />
+    <Compile Include="src\main\csharp\ActiveMQ\TransactionContext.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Transport\FutureResponse.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Transport\ITransport.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Transport\ITransportFactory.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Transport\LoggingTransport.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Transport\MutexTransport.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Transport\ResponseCorrelator.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Transport\Tcp\TcpTransport.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Transport\Tcp\TcpTransportFactory.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Transport\TransportFilter.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Transport\WireFormatNegotiator.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\main\csharp\ActiveMQ\Util\AtomicBoolean.cs" />
+    <Compile Include="src\main\csharp\ActiveMQ\Util\CountDownLatch.cs" />
+    <Compile Include="src\main\csharp\ActiveMQ\Util\DateUtils.cs" />
+    <Compile Include="src\main\csharp\ActiveMQ\Util\URISupport.cs">
+      <SubType>Code</SubType>
+    </Compile>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="vs2005-nms-cf20.csproj">
+      <Project>{9C67B162-803E-4765-8A1C-041871E6928C}</Project>
+      <Name>vs2005-nms-cf20</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Condition="'$(TargetFrameworkVersion)' == 'v1.0'" Project="$(MSBuildBinPath)\Microsoft.CompactFramework.CSharp.v1.targets" />
+  <Import Condition="'$(TargetFrameworkVersion)' == 'v2.0'" Project="$(MSBuildBinPath)\Microsoft.CompactFramework.CSharp.targets" />
+  <ProjectExtensions>
+    <VisualStudio>
+      <FlavorProperties GUID="{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}">
+        <HostingProcess disable="1" />
+      </FlavorProperties>
+    </VisualStudio>
+  </ProjectExtensions>
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

Added: incubator/activemq/activemq-dotnet/trunk/vs2005-nms-cf20.csproj
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-dotnet/trunk/vs2005-nms-cf20.csproj?view=auto&rev=465501
==============================================================================
--- incubator/activemq/activemq-dotnet/trunk/vs2005-nms-cf20.csproj (added)
+++ incubator/activemq/activemq-dotnet/trunk/vs2005-nms-cf20.csproj Wed Oct 18 22:44:03 2006
@@ -0,0 +1,94 @@
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.50727</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{9C67B162-803E-4765-8A1C-041871E6928C}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>NMS</RootNamespace>
+    <AssemblyName>Apache.NMS.CF20</AssemblyName>
+    <ProjectTypeGuids>{4D628B5B-2FBC-4AA6-8C16-197242AEB884};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+    <PlatformFamilyName>PocketPC</PlatformFamilyName>
+    <PlatformID>3C41C503-53EF-4c2a-8DD4-A8217CAD115E</PlatformID>
+    <OSVersion>4.20</OSVersion>
+    <DeployDirSuffix>vs2005_nms_cf20</DeployDirSuffix>
+    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+    <FormFactorID>
+    </FormFactorID>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE;$(PlatformFamilyName)</DefineConstants>
+    <NoStdLib>true</NoStdLib>
+    <NoConfig>true</NoConfig>
+    <ErrorReport>prompt</ErrorReport>
+    <FileAlignment>512</FileAlignment>
+    <WarningLevel>4</WarningLevel>
+    <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE;$(PlatformFamilyName)</DefineConstants>
+    <NoStdLib>true</NoStdLib>
+    <NoConfig>true</NoConfig>
+    <ErrorReport>prompt</ErrorReport>
+    <FileAlignment>512</FileAlignment>
+    <WarningLevel>4</WarningLevel>
+    <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="mscorlib" />
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="src\main\csharp\NMS\CommonAssemblyInfo.cs" />
+    <Compile Include="src\main\csharp\NMS\IBytesMessage.cs" />
+    <Compile Include="src\main\csharp\NMS\IConnection.cs" />
+    <Compile Include="src\main\csharp\NMS\IConnectionFactory.cs" />
+    <Compile Include="src\main\csharp\NMS\IDestination.cs" />
+    <Compile Include="src\main\csharp\NMS\IMapMessage.cs" />
+    <Compile Include="src\main\csharp\NMS\IMessage.cs" />
+    <Compile Include="src\main\csharp\NMS\IMessageConsumer.cs" />
+    <Compile Include="src\main\csharp\NMS\IMessageProducer.cs" />
+    <Compile Include="src\main\csharp\NMS\IPrimitiveMap.cs" />
+    <Compile Include="src\main\csharp\NMS\IQueue.cs" />
+    <Compile Include="src\main\csharp\NMS\ISession.cs" />
+    <Compile Include="src\main\csharp\NMS\IStartable.cs" />
+    <Compile Include="src\main\csharp\NMS\IStoppable.cs" />
+    <Compile Include="src\main\csharp\NMS\ITemporaryQueue.cs" />
+    <Compile Include="src\main\csharp\NMS\ITemporaryTopic.cs" />
+    <Compile Include="src\main\csharp\NMS\ITextMessage.cs" />
+    <Compile Include="src\main\csharp\NMS\ITopic.cs" />
+    <Compile Include="src\main\csharp\NMS\NMSConnectionException.cs" />
+    <Compile Include="src\main\csharp\NMS\NMSException.cs" />
+    <Compile Include="src\main\csharp\NMS\NMSSecurityException.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="activemq-dotnet.snk" />
+  </ItemGroup>
+  <Import Condition="'$(TargetFrameworkVersion)' == 'v1.0'" Project="$(MSBuildBinPath)\Microsoft.CompactFramework.CSharp.v1.targets" />
+  <Import Condition="'$(TargetFrameworkVersion)' == 'v2.0'" Project="$(MSBuildBinPath)\Microsoft.CompactFramework.CSharp.targets" />
+  <ProjectExtensions>
+    <VisualStudio>
+      <FlavorProperties GUID="{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}">
+        <HostingProcess disable="1" />
+      </FlavorProperties>
+    </VisualStudio>
+  </ProjectExtensions>
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

Modified: incubator/activemq/activemq-dotnet/trunk/vs2005.sln
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-dotnet/trunk/vs2005.sln?view=diff&rev=465501&r1=465500&r2=465501
==============================================================================
--- incubator/activemq/activemq-dotnet/trunk/vs2005.sln (original)
+++ incubator/activemq/activemq-dotnet/trunk/vs2005.sln Wed Oct 18 22:44:03 2006
@@ -13,6 +13,10 @@
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vs2005-activemq-test", "vs2005-activemq-test.csproj", "{EB943C69-2C9B-45E7-B95B-FB916E7057ED}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vs2005-nms-cf20", "vs2005-nms-cf20.csproj", "{9C67B162-803E-4765-8A1C-041871E6928C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vs2005-activemq-cf20", "vs2005-activemq-cf20.csproj", "{B166EC33-6048-4231-BCCA-6C5AE55139A3}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -43,6 +47,14 @@
 		{EB943C69-2C9B-45E7-B95B-FB916E7057ED}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{EB943C69-2C9B-45E7-B95B-FB916E7057ED}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{EB943C69-2C9B-45E7-B95B-FB916E7057ED}.Release|Any CPU.Build.0 = Release|Any CPU
+		{9C67B162-803E-4765-8A1C-041871E6928C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{9C67B162-803E-4765-8A1C-041871E6928C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{9C67B162-803E-4765-8A1C-041871E6928C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{9C67B162-803E-4765-8A1C-041871E6928C}.Release|Any CPU.Build.0 = Release|Any CPU
+		{B166EC33-6048-4231-BCCA-6C5AE55139A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{B166EC33-6048-4231-BCCA-6C5AE55139A3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{B166EC33-6048-4231-BCCA-6C5AE55139A3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{B166EC33-6048-4231-BCCA-6C5AE55139A3}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE