Add VisualStudio 2013 solution and Xamarin Android project.
Fixes [AMQNET-477]. (See https://issues.apache.org/jira/browse/AMQNET-477)

diff --git a/NOTICE.txt b/NOTICE.txt
index 6860153..c197df6 100644
--- a/NOTICE.txt
+++ b/NOTICE.txt
@@ -5,7 +5,7 @@
 =========================================================================
 
 Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
+Copyright 2005-2014 The Apache Software Foundation
 
 This product includes software developed by
 The Apache Software Foundation (http://www.apache.org/).
diff --git a/Resources/AboutResources.txt b/Resources/AboutResources.txt
new file mode 100644
index 0000000..f3e286e
--- /dev/null
+++ b/Resources/AboutResources.txt
@@ -0,0 +1,50 @@
+Images, layout descriptions, binary blobs and string dictionaries can be included 

+in your application as resource files.  Various Android APIs are designed to 

+operate on the resource IDs instead of dealing with images, strings or binary blobs 

+directly.

+

+For example, a sample Android app that contains a user interface layout (main.xml),

+an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) 

+would keep its resources in the "Resources" directory of the application:

+

+Resources/

+    drawable-hdpi/

+        icon.png

+

+    drawable-ldpi/

+        icon.png

+

+    drawable-mdpi/

+        icon.png

+

+    layout/

+        main.xml

+

+    values/

+        strings.xml

+

+In order to get the build system to recognize Android resources, set the build action to

+"AndroidResource".  The native Android APIs do not operate directly with filenames, but 

+instead operate on resource IDs.  When you compile an Android application that uses resources, 

+the build system will package the resources for distribution and generate a class called

+"Resource" that contains the tokens for each one of the resources included. For example, 

+for the above Resources layout, this is what the Resource class would expose:

+

+public class Resource {

+    public class drawable {

+        public const int icon = 0x123;

+    }

+

+    public class layout {

+        public const int main = 0x456;

+    }

+

+    public class strings {

+        public const int first_string = 0xabc;

+        public const int second_string = 0xbcd;

+    }

+}

+

+You would then use R.drawable.icon to reference the drawable/icon.png file, or Resource.layout.main 

+to reference the layout/main.xml file, or Resource.strings.first_string to reference the first 

+string in the dictionary file values/strings.xml.
\ No newline at end of file
diff --git a/Resources/Resource.Designer.cs b/Resources/Resource.Designer.cs
new file mode 100644
index 0000000..1bfca94
--- /dev/null
+++ b/Resources/Resource.Designer.cs
@@ -0,0 +1,60 @@
+#pragma warning disable 1591

+//------------------------------------------------------------------------------

+// <auto-generated>

+//     This code was generated by a tool.

+//     Runtime Version:4.0.30319.18444

+//

+//     Changes to this file may cause incorrect behavior and will be lost if

+//     the code is regenerated.

+// </auto-generated>

+//------------------------------------------------------------------------------

+

+[assembly: global::Android.Runtime.ResourceDesignerAttribute("Apache.NMS.Resource", IsApplication=false)]

+

+namespace Apache.NMS

+{

+	

+	

+	[System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")]

+	public partial class Resource

+	{

+		

+		static Resource()

+		{

+			global::Android.Runtime.ResourceIdManager.UpdateIdValues();

+		}

+		

+		public partial class Attribute

+		{

+			

+			static Attribute()

+			{

+				global::Android.Runtime.ResourceIdManager.UpdateIdValues();

+			}

+			

+			private Attribute()

+			{

+			}

+		}

+		

+		public partial class String

+		{

+			

+			// aapt resource value: 0x7f020001

+			public static int ApplicationName = 2130837505;

+			

+			// aapt resource value: 0x7f020000

+			public static int Hello = 2130837504;

+			

+			static String()

+			{

+				global::Android.Runtime.ResourceIdManager.UpdateIdValues();

+			}

+			

+			private String()

+			{

+			}

+		}

+	}

+}

+#pragma warning restore 1591

diff --git a/Resources/Values/Strings.xml b/Resources/Values/Strings.xml
new file mode 100644
index 0000000..9d44e29
--- /dev/null
+++ b/Resources/Values/Strings.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>

+<resources>

+    <string name="Hello">Hello World, Click Me!</string>

+    <string name="ApplicationName">$projectname$</string>

+</resources>

diff --git a/vs2013-nms-android.csproj b/vs2013-nms-android.csproj
new file mode 100644
index 0000000..c5032c2
--- /dev/null
+++ b/vs2013-nms-android.csproj
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="utf-8"?>

+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

+  <PropertyGroup>

+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>

+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>

+    <ProductVersion>8.0.30703</ProductVersion>

+    <SchemaVersion>2.0</SchemaVersion>

+    <ProjectGuid>{A383BBDE-035D-4CB8-AAB2-9EF1AB797915}</ProjectGuid>

+    <ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

+    <OutputType>Library</OutputType>

+    <AppDesignerFolder>src\main\csharp</AppDesignerFolder>

+    <RootNamespace>Apache.NMS</RootNamespace>

+    <AssemblyName>Apache.NMS</AssemblyName>

+    <FileAlignment>512</FileAlignment>

+    <BaseIntermediateOutputPath>obj\android</BaseIntermediateOutputPath>

+    <AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile>

+    <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>

+    <AndroidUseLatestPlatformSdk />

+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

+  </PropertyGroup>

+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">

+    <DebugSymbols>true</DebugSymbols>

+    <DebugType>full</DebugType>

+    <Optimize>false</Optimize>

+    <OutputPath>build\android\Debug</OutputPath>

+    <DefineConstants>DEBUG;TRACE</DefineConstants>

+    <ErrorReport>prompt</ErrorReport>

+    <WarningLevel>4</WarningLevel>

+  </PropertyGroup>

+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">

+    <DebugType>pdbonly</DebugType>

+    <Optimize>true</Optimize>

+    <OutputPath>build\android\Release</OutputPath>

+    <DefineConstants>TRACE</DefineConstants>

+    <ErrorReport>prompt</ErrorReport>

+    <WarningLevel>4</WarningLevel>

+  </PropertyGroup>

+  <ItemGroup>

+    <Reference Include="Mono.Android" />

+    <Reference Include="mscorlib" />

+    <Reference Include="System" />

+    <Reference Include="System.Core" />

+    <Reference Include="System.Transactions" />

+    <Reference Include="System.Web.Services" />

+    <Reference Include="System.Xml" />

+  </ItemGroup>

+  <ItemGroup>

+    <Compile Include="src\main\csharp\IBytesMessage.cs" />

+    <Compile Include="src\main\csharp\IConnection.cs" />

+    <Compile Include="src\main\csharp\IConnectionFactory.cs" />

+    <Compile Include="src\main\csharp\IConnectionMetaData.cs" />

+    <Compile Include="src\main\csharp\IDestination.cs" />

+    <Compile Include="src\main\csharp\IllegalStateException.cs" />

+    <Compile Include="src\main\csharp\IMapMessage.cs" />

+    <Compile Include="src\main\csharp\IMessage.cs" />

+    <Compile Include="src\main\csharp\IMessageConsumer.cs" />

+    <Compile Include="src\main\csharp\IMessageProducer.cs" />

+    <Compile Include="src\main\csharp\INetTxConnection.cs" />

+    <Compile Include="src\main\csharp\INetTxConnectionFactory.cs" />

+    <Compile Include="src\main\csharp\INetTxSession.cs" />

+    <Compile Include="src\main\csharp\InvalidClientIDException.cs" />

+    <Compile Include="src\main\csharp\InvalidDestinationException.cs" />

+    <Compile Include="src\main\csharp\InvalidSelectorException.cs" />

+    <Compile Include="src\main\csharp\IObjectMessage.cs" />

+    <Compile Include="src\main\csharp\IPrimitiveMap.cs" />

+    <Compile Include="src\main\csharp\IQueue.cs" />

+    <Compile Include="src\main\csharp\IQueueBrowser.cs" />

+    <Compile Include="src\main\csharp\IRedeliveryPolicy.cs" />

+    <Compile Include="src\main\csharp\ISession.cs" />

+    <Compile Include="src\main\csharp\IStartable.cs" />

+    <Compile Include="src\main\csharp\IStoppable.cs" />

+    <Compile Include="src\main\csharp\IStreamMessage.cs" />

+    <Compile Include="src\main\csharp\ITemporaryQueue.cs" />

+    <Compile Include="src\main\csharp\ITemporaryTopic.cs" />

+    <Compile Include="src\main\csharp\ITextMessage.cs" />

+    <Compile Include="src\main\csharp\ITopic.cs" />

+    <Compile Include="src\main\csharp\ITrace.cs" />

+    <Compile Include="src\main\csharp\MessageConsumerExtensions.cs" />

+    <Compile Include="src\main\csharp\MessageEOFException.cs" />

+    <Compile Include="src\main\csharp\MessageExtensions.cs" />

+    <Compile Include="src\main\csharp\MessageFormatException.cs" />

+    <Compile Include="src\main\csharp\MessageNotReadableException.cs" />

+    <Compile Include="src\main\csharp\MessageNotWriteableException.cs" />

+    <Compile Include="src\main\csharp\MessageProducerExtensions.cs" />

+    <Compile Include="src\main\csharp\NMSConnectionException.cs" />

+    <Compile Include="src\main\csharp\NMSConnectionFactory.cs" />

+    <Compile Include="src\main\csharp\NMSConstants.cs" />

+    <Compile Include="src\main\csharp\NMSException.cs" />

+    <Compile Include="src\main\csharp\NMSSecurityException.cs" />

+    <Compile Include="src\main\csharp\policies\RedeliveryPolicy.cs" />

+    <Compile Include="src\main\csharp\ResourceAllocationException.cs" />

+    <Compile Include="src\main\csharp\SessionExtensions.cs" />

+    <Compile Include="src\main\csharp\Tracer.cs" />

+    <Compile Include="src\main\csharp\TransactionInProgressException.cs" />

+    <Compile Include="src\main\csharp\TransactionRolledBackException.cs" />

+    <Compile Include="src\main\csharp\Util\Atomic.cs" />

+    <Compile Include="src\main\csharp\Util\Convert.cs" />

+    <Compile Include="src\main\csharp\Util\CountDownLatch.cs" />

+    <Compile Include="src\main\csharp\Util\DateUtils.cs" />

+    <Compile Include="src\main\csharp\Util\EndianBinaryReader.cs" />

+    <Compile Include="src\main\csharp\Util\EndianBinaryWriter.cs" />

+    <Compile Include="src\main\csharp\Util\EndianSupport.cs" />

+    <Compile Include="src\main\csharp\Util\MessagePropertyIntercepter.cs" />

+    <Compile Include="src\main\csharp\Util\MessageTransformation.cs" />

+    <Compile Include="src\main\csharp\Util\NMSExceptionSupport.cs" />

+    <Compile Include="src\main\csharp\Util\PrimitiveMap.cs" />

+    <Compile Include="src\main\csharp\Util\PrimitiveMapInterceptor.cs" />

+    <Compile Include="src\main\csharp\Util\SessionUtils.cs" />

+    <Compile Include="src\main\csharp\Util\URISupport.cs" />

+    <Compile Include="src\main\csharp\Util\XmlUtils.cs" />

+  </ItemGroup>

+  <ItemGroup>

+    <Compile Include="Resources\Resource.Designer.cs" />

+    <Compile Include="src\main\csharp\CommonAssemblyInfo.cs" />

+  </ItemGroup>

+  <ItemGroup>

+    <None Include="Resources\AboutResources.txt" />

+  </ItemGroup>

+  <ItemGroup>

+    <AndroidResource Include="Resources\Values\Strings.xml" />

+  </ItemGroup>

+  <ItemGroup>

+    <Content Include="LICENSE.txt" />

+    <Content Include="NOTICE.txt" />

+    <Content Include="README.txt" />

+  </ItemGroup>

+  <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />

+  <PropertyGroup>

+    <PreBuildEvent>cd $(ProjectDir)

+nant -nologo -q generate-assemblyinfo -D:assemblyinfo.filename="src/main/csharp/CommonAssemblyInfo.cs"</PreBuildEvent>

+  </PropertyGroup>

+  <!-- 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
diff --git a/vs2013-nms.sln b/vs2013-nms.sln
new file mode 100644
index 0000000..78e6cc6
--- /dev/null
+++ b/vs2013-nms.sln
@@ -0,0 +1,22 @@
+

+Microsoft Visual Studio Solution File, Format Version 12.00

+# Visual Studio 2013

+VisualStudioVersion = 12.0.30501.0

+MinimumVisualStudioVersion = 10.0.40219.1

+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vs2013-nms-android", "vs2013-nms-android.csproj", "{A383BBDE-035D-4CB8-AAB2-9EF1AB797915}"

+EndProject

+Global

+	GlobalSection(SolutionConfigurationPlatforms) = preSolution

+		Debug|Any CPU = Debug|Any CPU

+		Release|Any CPU = Release|Any CPU

+	EndGlobalSection

+	GlobalSection(ProjectConfigurationPlatforms) = postSolution

+		{A383BBDE-035D-4CB8-AAB2-9EF1AB797915}.Debug|Any CPU.ActiveCfg = Debug|Any CPU

+		{A383BBDE-035D-4CB8-AAB2-9EF1AB797915}.Debug|Any CPU.Build.0 = Debug|Any CPU

+		{A383BBDE-035D-4CB8-AAB2-9EF1AB797915}.Release|Any CPU.ActiveCfg = Release|Any CPU

+		{A383BBDE-035D-4CB8-AAB2-9EF1AB797915}.Release|Any CPU.Build.0 = Release|Any CPU

+	EndGlobalSection

+	GlobalSection(SolutionProperties) = preSolution

+		HideSolutionNode = FALSE

+	EndGlobalSection

+EndGlobal