AMQNET-586: NMS AMQP Solution cleanup
diff --git a/HelloWorld/App.config b/HelloWorld/App.config
deleted file mode 100644
index 5430819..0000000
--- a/HelloWorld/App.config
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!--
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements.  See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You 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.
-//
--->
-<configuration>
-    <startup> 
-        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
-    </startup>
-</configuration>
\ No newline at end of file
diff --git a/HelloWorld/HelloWorld.csproj b/HelloWorld/HelloWorld.csproj
deleted file mode 100644
index a60aff7..0000000
--- a/HelloWorld/HelloWorld.csproj
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-<Project Sdk="Microsoft.NET.Sdk">
-  <!--<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />-->
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{A56349BE-ED66-4E18-B5FE-E3EA069D2ADD}</ProjectGuid>
-    <OutputType>Exe</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>HelloWorld</RootNamespace>
-    <AssemblyName>HelloWorld</AssemblyName>
-    <TargetFrameworks>net462;netcoreapp2.2</TargetFrameworks>
-    
-    <FileAlignment>512</FileAlignment>
-    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
-    <PublishUrl>publish\</PublishUrl>
-    <Install>true</Install>
-    <InstallFrom>Disk</InstallFrom>
-    <UpdateEnabled>false</UpdateEnabled>
-    <UpdateMode>Foreground</UpdateMode>
-    <UpdateInterval>7</UpdateInterval>
-    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
-    <UpdatePeriodically>false</UpdatePeriodically>
-    <UpdateRequired>false</UpdateRequired>
-    <MapFileExtensions>true</MapFileExtensions>
-    <ApplicationRevision>0</ApplicationRevision>
-    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
-    <IsWebBootstrapper>false</IsWebBootstrapper>
-    <UseApplicationTrust>false</UseApplicationTrust>
-    <BootstrapperEnabled>true</BootstrapperEnabled>
-    <FileUpgradeFlags>
-    </FileUpgradeFlags>
-    <UpgradeBackupLocation>
-    </UpgradeBackupLocation>
-    <OldToolsVersion>2.0</OldToolsVersion>
-
-    <EnableDefaultCompileItems>false</EnableDefaultCompileItems>
-    <GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
-    <GenerateAssemblyDescriptionAttribute>false</GenerateAssemblyDescriptionAttribute>
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <GenerateAssemblyInformationalVersionAttribute>false</GenerateAssemblyInformationalVersionAttribute>
-    <GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
-    <GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>
-    <GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
-    <GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
-    <OutputPath>bin/$(Configuration)</OutputPath>  
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>  
-  <ItemGroup>
-    <EmbeddedResource Remove="Backup\**" />
-    <EmbeddedResource Remove="NMS.AMQP\**" />
-    <EmbeddedResource Remove="src\main\**" />
-    <None Remove="Backup\**" />
-    <None Remove="NMS.AMQP\**" />
-    <None Remove="src\main\**" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Remove=".gitattributes" />
-    <None Remove=".gitignore" />
-    <None Remove="UpgradeLog.htm" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="..\src\example\csharp\HelloWorld\HelloWorld.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="App.config" />
-  </ItemGroup>
-  <ItemGroup>
-    <PackageReference Include="CommandLineParser" Version="2.2.1" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\NMS.AMQP\Apache-NMS-AMQP.csproj" />
-  </ItemGroup>
-  <!-- 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>
diff --git a/HelloWorld/Properties/AssemblyInfo.cs b/HelloWorld/Properties/AssemblyInfo.cs
deleted file mode 100644
index ea5b0dc..0000000
--- a/HelloWorld/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,52 +0,0 @@
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements.  See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You 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 System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// 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("HelloWorld")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Microsoft")]
-[assembly: AssemblyProduct("HelloWorld")]
-[assembly: AssemblyCopyright("Copyright © Microsoft 2017")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("a56349be-ed66-4e18-b5fe-e3ea069d2add")]
-
-// 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 Build and Revision Numbers 
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/HelloWorld/Properties/launchSettings.json b/HelloWorld/Properties/launchSettings.json
deleted file mode 100644
index 1a5f600..0000000
--- a/HelloWorld/Properties/launchSettings.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-  "profiles": {
-    "HelloWorld": {
-      "commandName": "Project",
-      "commandLineArgs": "--uri=amqp://127.0.0.1"
-    }
-  }
-}
\ No newline at end of file
diff --git a/NMS.AMQP/App.config b/NMS.AMQP/App.config
deleted file mode 100644
index acb1e8d..0000000
--- a/NMS.AMQP/App.config
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!--
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements.  See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You 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.
-//
--->
-<configuration>
-  
-  <runtime>
-    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
-      <dependentAssembly>
-        <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
-      </dependentAssembly>
-      <dependentAssembly>
-        <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
-      </dependentAssembly>
-    </assemblyBinding>
-  </runtime>
-</configuration>
diff --git a/NMS.AMQP/Properties/AssemblyInfo.cs b/NMS.AMQP/Properties/AssemblyInfo.cs
deleted file mode 100644
index 20bad59..0000000
--- a/NMS.AMQP/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements.  See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You 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 System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// 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("Apache-NMS-AMQP")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Apache")]
-[assembly: AssemblyProduct("Apache-NMS-AMQP")]
-[assembly: AssemblyCopyright("Copyright © Apache 2018")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("0d8cf699-9702-4ec6-8719-c2968d32f09a")]
-
-// 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 Build and Revision Numbers 
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("0.0.0.1")]
-[assembly: AssemblyFileVersion("0.0.0.1")]
-[assembly: AssemblyInformationalVersion("0.0.0-initial-1")]
diff --git a/NMS.AMQP/Properties/launchSettings.json b/NMS.AMQP/Properties/launchSettings.json
deleted file mode 100644
index 8c8e5f0..0000000
--- a/NMS.AMQP/Properties/launchSettings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "profiles": {
-    "NMS-AMQP": {
-      "commandName": "Project"
-    }
-  }
-}
\ No newline at end of file
diff --git a/StructuredMessage/App.config b/StructuredMessage/App.config
deleted file mode 100644
index 5430819..0000000
--- a/StructuredMessage/App.config
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!--
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements.  See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You 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.
-//
--->
-<configuration>
-    <startup> 
-        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
-    </startup>
-</configuration>
\ No newline at end of file
diff --git a/StructuredMessage/Properties/AssemblyInfo.cs b/StructuredMessage/Properties/AssemblyInfo.cs
deleted file mode 100644
index 88c99ad..0000000
--- a/StructuredMessage/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,52 +0,0 @@
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements.  See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You 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 System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// 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("StructuredMessage")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Microsoft")]
-[assembly: AssemblyProduct("StructuredMessage")]
-[assembly: AssemblyCopyright("Copyright © Microsoft 2017")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("a56349be-ed66-4e18-b5fe-e3ea069d2add")]
-
-// 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 Build and Revision Numbers 
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/StructuredMessage/Properties/launchSettings.json b/StructuredMessage/Properties/launchSettings.json
deleted file mode 100644
index 6570268..0000000
--- a/StructuredMessage/Properties/launchSettings.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-  "profiles": {
-    "StructuredMessage": {
-      "commandName": "Project",
-      "commandLineArgs": "--uri=amqp://127.0.0.1 --topic=foo"
-    }
-  }
-}
\ No newline at end of file
diff --git a/StructuredMessage/StructuredMessage.csproj b/StructuredMessage/StructuredMessage.csproj
deleted file mode 100644
index 01a3734..0000000
--- a/StructuredMessage/StructuredMessage.csproj
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you 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.
--->
-<Project Sdk="Microsoft.NET.Sdk">
-  <!--<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />-->
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{08936343-AA11-4409-9599-06762070CF82}</ProjectGuid>
-    <OutputType>Exe</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>StructuredMessage</RootNamespace>
-    <AssemblyName>StructuredMessage</AssemblyName>
-    <TargetFrameworks>net462;netcoreapp2.2</TargetFrameworks>
-    
-    <FileAlignment>512</FileAlignment>
-    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
-    <PublishUrl>publish\</PublishUrl>
-    <Install>true</Install>
-    <InstallFrom>Disk</InstallFrom>
-    <UpdateEnabled>false</UpdateEnabled>
-    <UpdateMode>Foreground</UpdateMode>
-    <UpdateInterval>7</UpdateInterval>
-    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
-    <UpdatePeriodically>false</UpdatePeriodically>
-    <UpdateRequired>false</UpdateRequired>
-    <MapFileExtensions>true</MapFileExtensions>
-    <ApplicationRevision>0</ApplicationRevision>
-    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
-    <IsWebBootstrapper>false</IsWebBootstrapper>
-    <UseApplicationTrust>false</UseApplicationTrust>
-    <BootstrapperEnabled>true</BootstrapperEnabled>
-    <FileUpgradeFlags>
-    </FileUpgradeFlags>
-    <UpgradeBackupLocation>
-    </UpgradeBackupLocation>
-    <OldToolsVersion>2.0</OldToolsVersion>
-
-    <EnableDefaultCompileItems>false</EnableDefaultCompileItems>
-    <GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
-    <GenerateAssemblyDescriptionAttribute>false</GenerateAssemblyDescriptionAttribute>
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <GenerateAssemblyInformationalVersionAttribute>false</GenerateAssemblyInformationalVersionAttribute>
-    <GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
-    <GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>
-    <GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
-    <GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
-    <OutputPath>bin/$(Configuration)</OutputPath>  
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <EmbeddedResource Remove="Backup\**" />
-    <EmbeddedResource Remove="NMS.AMQP\**" />
-    <EmbeddedResource Remove="src\main\**" />
-    <None Remove="Backup\**" />
-    <None Remove="NMS.AMQP\**" />
-    <None Remove="src\main\**" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Remove=".gitattributes" />
-    <None Remove=".gitignore" />
-    <None Remove="UpgradeLog.htm" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="..\src\example\csharp\StructuredMessage\StructuredMessage.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="App.config" />
-  </ItemGroup>
-  <ItemGroup>
-    <PackageReference Include="CommandLineParser" Version="2.2.1" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\NMS.AMQP\Apache-NMS-AMQP.csproj" />
-  </ItemGroup>
-  <!-- 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>
diff --git a/apache-nms-amqp.sln b/apache-nms-amqp.sln
index 3995a83..1da756d 100644
--- a/apache-nms-amqp.sln
+++ b/apache-nms-amqp.sln
@@ -2,16 +2,16 @@
 # Visual Studio 15
 VisualStudioVersion = 15.0.26730.10
 MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Apache-NMS-AMQP", "NMS.AMQP\Apache-NMS-AMQP.csproj", "{0D8CF699-9702-4EC6-8719-C2968D32F09A}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Apache-NMS-AMQP", "src\NMS.AMQP\Apache-NMS-AMQP.csproj", "{0D8CF699-9702-4EC6-8719-C2968D32F09A}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HelloWorld", "HelloWorld\HelloWorld.csproj", "{A56349BE-ED66-4E18-B5FE-E3EA069D2ADD}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HelloWorld", "src\HelloWorld\HelloWorld.csproj", "{A56349BE-ED66-4E18-B5FE-E3EA069D2ADD}"
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Apache-NMS-AMQP-Test", "test\Apache-NMS-AMQP-Test.csproj", "{DF402917-D85D-421C-A7E2-DC3DF371B9CB}"
 	ProjectSection(ProjectDependencies) = postProject
 		{0D8CF699-9702-4EC6-8719-C2968D32F09A} = {0D8CF699-9702-4EC6-8719-C2968D32F09A}
 	EndProjectSection
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StructuredMessage", "StructuredMessage\StructuredMessage.csproj", "{08936343-AA11-4409-9599-06762070CF82}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StructuredMessage", "src\StructuredMessage\StructuredMessage.csproj", "{08936343-AA11-4409-9599-06762070CF82}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/src/example/csharp/HelloWorld/HelloWorld.cs b/src/HelloWorld/HelloWorld.cs
similarity index 100%
rename from src/example/csharp/HelloWorld/HelloWorld.cs
rename to src/HelloWorld/HelloWorld.cs
diff --git a/src/HelloWorld/HelloWorld.csproj b/src/HelloWorld/HelloWorld.csproj
new file mode 100644
index 0000000..22fd330
--- /dev/null
+++ b/src/HelloWorld/HelloWorld.csproj
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you 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.
+-->
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <TargetFrameworks>net462;netcoreapp2.2</TargetFrameworks>
+    <OutputType>Exe</OutputType>
+    <RootNamespace>HelloWorld</RootNamespace>
+    <AssemblyName>HelloWorld</AssemblyName>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <PackageReference Include="CommandLineParser" Version="2.2.1" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\NMS.AMQP\Apache-NMS-AMQP.csproj" />
+  </ItemGroup>
+</Project>
diff --git a/NMS.AMQP/Apache-NMS-AMQP.csproj b/src/NMS.AMQP/Apache-NMS-AMQP.csproj
similarity index 60%
rename from NMS.AMQP/Apache-NMS-AMQP.csproj
rename to src/NMS.AMQP/Apache-NMS-AMQP.csproj
index 760a6d7..b4fe988 100644
--- a/NMS.AMQP/Apache-NMS-AMQP.csproj
+++ b/src/NMS.AMQP/Apache-NMS-AMQP.csproj
@@ -16,19 +16,15 @@
   under the License.
   -->
 <Project Sdk="Microsoft.NET.Sdk">
-  <!--<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />-->
   <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{0D8CF699-9702-4EC6-8719-C2968D32F09A}</ProjectGuid>
     <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <TargetFrameworks>netstandard2.0</TargetFrameworks>
     <RootNamespace>Apache.NMS.AMQP</RootNamespace>
     <AssemblyName>Apache.NMS.AMQP</AssemblyName>
-    <TargetFrameworks>netstandard2.0</TargetFrameworks>
-    <FileAlignment>512</FileAlignment>
-    <OutputPath>bin\$(Configuration)\</OutputPath>
+  </PropertyGroup>
 
+  <PropertyGroup>
     <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
     <PackageId>Apache.NMS.AMQP</PackageId>
     <Version>1.0.0</Version>
@@ -43,19 +39,8 @@
     <RepositoryUrl>https://github.com/apache/activemq-nms-amqp</RepositoryUrl>
     <RepositoryType>git</RepositoryType>
     <PackageTags>apache;activemq;nms;amqp;net;messaging</PackageTags>
-
-    <EnableDefaultCompileItems>false</EnableDefaultCompileItems>
-    <GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
-    <GenerateAssemblyDescriptionAttribute>false</GenerateAssemblyDescriptionAttribute>
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <GenerateAssemblyInformationalVersionAttribute>false</GenerateAssemblyInformationalVersionAttribute>
-    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
-    <GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
-    <GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>
-    <GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
-    <GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
-
   </PropertyGroup>
+
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
     <DebugType>full</DebugType>
@@ -72,33 +57,11 @@
     <DefineConstants>TRACE</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
-  </PropertyGroup>    
-    <ItemGroup>
-        <Compile Include="../src/main/csharp/**" />
-        <Compile Include="Properties\AssemblyInfo.cs" />
-    </ItemGroup>
-    <ItemGroup>
-      <EmbeddedResource Remove="Backup\**" />
-      <EmbeddedResource Remove="HelloWorld\**" />
-      <EmbeddedResource Remove="src\test\**" />
-      <None Remove="Backup\**" />
-      <None Remove="HelloWorld\**" />
-      <None Remove="src\test\**" />
-    </ItemGroup>
-    <ItemGroup>
-      <None Remove=".gitattributes" />
-      <None Remove=".gitignore" />
-      <None Remove="UpgradeLog.htm" />
-    </ItemGroup>
+  </PropertyGroup>
 
   <ItemGroup>
     <!-- AMQPNetLite.Core is .NET Standard 1.3 package -->
     <PackageReference Include="AMQPNetLite.Core" Version="2.1.7" />
     <PackageReference Include="Apache.NMS" Version="1.8.0" />
   </ItemGroup>
-  <ItemGroup>
-    <None Update="App.config">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </None>
-  </ItemGroup>
 </Project>
diff --git a/src/main/csharp/Connection.cs b/src/NMS.AMQP/Connection.cs
similarity index 100%
rename from src/main/csharp/Connection.cs
rename to src/NMS.AMQP/Connection.cs
diff --git a/src/main/csharp/ConnectionFactory.cs b/src/NMS.AMQP/ConnectionFactory.cs
similarity index 100%
rename from src/main/csharp/ConnectionFactory.cs
rename to src/NMS.AMQP/ConnectionFactory.cs
diff --git a/src/main/csharp/ConnectionMetaData.cs b/src/NMS.AMQP/ConnectionMetaData.cs
similarity index 100%
rename from src/main/csharp/ConnectionMetaData.cs
rename to src/NMS.AMQP/ConnectionMetaData.cs
diff --git a/src/main/csharp/Destination.cs b/src/NMS.AMQP/Destination.cs
similarity index 100%
rename from src/main/csharp/Destination.cs
rename to src/NMS.AMQP/Destination.cs
diff --git a/src/main/csharp/Message/AMQP/AMQPBytesMessageCloak.cs b/src/NMS.AMQP/Message/AMQP/AMQPBytesMessageCloak.cs
similarity index 100%
rename from src/main/csharp/Message/AMQP/AMQPBytesMessageCloak.cs
rename to src/NMS.AMQP/Message/AMQP/AMQPBytesMessageCloak.cs
diff --git a/src/main/csharp/Message/AMQP/AMQPMapMessageCloak.cs b/src/NMS.AMQP/Message/AMQP/AMQPMapMessageCloak.cs
similarity index 100%
rename from src/main/csharp/Message/AMQP/AMQPMapMessageCloak.cs
rename to src/NMS.AMQP/Message/AMQP/AMQPMapMessageCloak.cs
diff --git a/src/main/csharp/Message/AMQP/AMQPMessageBuilder.cs b/src/NMS.AMQP/Message/AMQP/AMQPMessageBuilder.cs
similarity index 100%
rename from src/main/csharp/Message/AMQP/AMQPMessageBuilder.cs
rename to src/NMS.AMQP/Message/AMQP/AMQPMessageBuilder.cs
diff --git a/src/main/csharp/Message/AMQP/AMQPMessageCloak.cs b/src/NMS.AMQP/Message/AMQP/AMQPMessageCloak.cs
similarity index 100%
rename from src/main/csharp/Message/AMQP/AMQPMessageCloak.cs
rename to src/NMS.AMQP/Message/AMQP/AMQPMessageCloak.cs
diff --git a/src/main/csharp/Message/AMQP/AMQPMessageTransformation.cs b/src/NMS.AMQP/Message/AMQP/AMQPMessageTransformation.cs
similarity index 100%
rename from src/main/csharp/Message/AMQP/AMQPMessageTransformation.cs
rename to src/NMS.AMQP/Message/AMQP/AMQPMessageTransformation.cs
diff --git a/src/main/csharp/Message/AMQP/AMQPObjectMessageCloak.cs b/src/NMS.AMQP/Message/AMQP/AMQPObjectMessageCloak.cs
similarity index 100%
rename from src/main/csharp/Message/AMQP/AMQPObjectMessageCloak.cs
rename to src/NMS.AMQP/Message/AMQP/AMQPObjectMessageCloak.cs
diff --git a/src/main/csharp/Message/AMQP/AMQPStreamMessageCloak.cs b/src/NMS.AMQP/Message/AMQP/AMQPStreamMessageCloak.cs
similarity index 100%
rename from src/main/csharp/Message/AMQP/AMQPStreamMessageCloak.cs
rename to src/NMS.AMQP/Message/AMQP/AMQPStreamMessageCloak.cs
diff --git a/src/main/csharp/Message/AMQP/AMQPTextMessageCloak.cs b/src/NMS.AMQP/Message/AMQP/AMQPTextMessageCloak.cs
similarity index 100%
rename from src/main/csharp/Message/AMQP/AMQPTextMessageCloak.cs
rename to src/NMS.AMQP/Message/AMQP/AMQPTextMessageCloak.cs
diff --git a/src/main/csharp/Message/BytesMessage.cs b/src/NMS.AMQP/Message/BytesMessage.cs
similarity index 100%
rename from src/main/csharp/Message/BytesMessage.cs
rename to src/NMS.AMQP/Message/BytesMessage.cs
diff --git a/src/main/csharp/Message/Cloak/IBytesMessageCloak.cs b/src/NMS.AMQP/Message/Cloak/IBytesMessageCloak.cs
similarity index 100%
rename from src/main/csharp/Message/Cloak/IBytesMessageCloak.cs
rename to src/NMS.AMQP/Message/Cloak/IBytesMessageCloak.cs
diff --git a/src/main/csharp/Message/Cloak/IMapMessageCloak.cs b/src/NMS.AMQP/Message/Cloak/IMapMessageCloak.cs
similarity index 100%
rename from src/main/csharp/Message/Cloak/IMapMessageCloak.cs
rename to src/NMS.AMQP/Message/Cloak/IMapMessageCloak.cs
diff --git a/src/main/csharp/Message/Cloak/IMessageCloak.cs b/src/NMS.AMQP/Message/Cloak/IMessageCloak.cs
similarity index 100%
rename from src/main/csharp/Message/Cloak/IMessageCloak.cs
rename to src/NMS.AMQP/Message/Cloak/IMessageCloak.cs
diff --git a/src/main/csharp/Message/Cloak/IObjectMessageCloak.cs b/src/NMS.AMQP/Message/Cloak/IObjectMessageCloak.cs
similarity index 100%
rename from src/main/csharp/Message/Cloak/IObjectMessageCloak.cs
rename to src/NMS.AMQP/Message/Cloak/IObjectMessageCloak.cs
diff --git a/src/main/csharp/Message/Cloak/IStreamMessageCloak.cs b/src/NMS.AMQP/Message/Cloak/IStreamMessageCloak.cs
similarity index 100%
rename from src/main/csharp/Message/Cloak/IStreamMessageCloak.cs
rename to src/NMS.AMQP/Message/Cloak/IStreamMessageCloak.cs
diff --git a/src/main/csharp/Message/Cloak/ITextMessageCloak.cs b/src/NMS.AMQP/Message/Cloak/ITextMessageCloak.cs
similarity index 100%
rename from src/main/csharp/Message/Cloak/ITextMessageCloak.cs
rename to src/NMS.AMQP/Message/Cloak/ITextMessageCloak.cs
diff --git a/src/main/csharp/Message/Factory/AMQPMessageFactory.cs b/src/NMS.AMQP/Message/Factory/AMQPMessageFactory.cs
similarity index 100%
rename from src/main/csharp/Message/Factory/AMQPMessageFactory.cs
rename to src/NMS.AMQP/Message/Factory/AMQPMessageFactory.cs
diff --git a/src/main/csharp/Message/Factory/IMessageFactory.cs b/src/NMS.AMQP/Message/Factory/IMessageFactory.cs
similarity index 100%
rename from src/main/csharp/Message/Factory/IMessageFactory.cs
rename to src/NMS.AMQP/Message/Factory/IMessageFactory.cs
diff --git a/src/main/csharp/Message/Factory/MessageFactory.cs b/src/NMS.AMQP/Message/Factory/MessageFactory.cs
similarity index 100%
rename from src/main/csharp/Message/Factory/MessageFactory.cs
rename to src/NMS.AMQP/Message/Factory/MessageFactory.cs
diff --git a/src/main/csharp/Message/MapMessage.cs b/src/NMS.AMQP/Message/MapMessage.cs
similarity index 100%
rename from src/main/csharp/Message/MapMessage.cs
rename to src/NMS.AMQP/Message/MapMessage.cs
diff --git a/src/main/csharp/Message/Message.cs b/src/NMS.AMQP/Message/Message.cs
similarity index 100%
rename from src/main/csharp/Message/Message.cs
rename to src/NMS.AMQP/Message/Message.cs
diff --git a/src/main/csharp/Message/ObjectMessage.cs b/src/NMS.AMQP/Message/ObjectMessage.cs
similarity index 100%
rename from src/main/csharp/Message/ObjectMessage.cs
rename to src/NMS.AMQP/Message/ObjectMessage.cs
diff --git a/src/main/csharp/Message/StreamMessage.cs b/src/NMS.AMQP/Message/StreamMessage.cs
similarity index 100%
rename from src/main/csharp/Message/StreamMessage.cs
rename to src/NMS.AMQP/Message/StreamMessage.cs
diff --git a/src/main/csharp/Message/TextMessage.cs b/src/NMS.AMQP/Message/TextMessage.cs
similarity index 100%
rename from src/main/csharp/Message/TextMessage.cs
rename to src/NMS.AMQP/Message/TextMessage.cs
diff --git a/src/main/csharp/MessageConsumer.cs b/src/NMS.AMQP/MessageConsumer.cs
similarity index 100%
rename from src/main/csharp/MessageConsumer.cs
rename to src/NMS.AMQP/MessageConsumer.cs
diff --git a/src/main/csharp/MessageLink.cs b/src/NMS.AMQP/MessageLink.cs
similarity index 100%
rename from src/main/csharp/MessageLink.cs
rename to src/NMS.AMQP/MessageLink.cs
diff --git a/src/main/csharp/MessageProducer.cs b/src/NMS.AMQP/MessageProducer.cs
similarity index 100%
rename from src/main/csharp/MessageProducer.cs
rename to src/NMS.AMQP/MessageProducer.cs
diff --git a/src/main/csharp/NMSConnectionFactory.cs b/src/NMS.AMQP/NMSConnectionFactory.cs
similarity index 100%
rename from src/main/csharp/NMSConnectionFactory.cs
rename to src/NMS.AMQP/NMSConnectionFactory.cs
diff --git a/src/main/csharp/NMSResource.cs b/src/NMS.AMQP/NMSResource.cs
similarity index 100%
rename from src/main/csharp/NMSResource.cs
rename to src/NMS.AMQP/NMSResource.cs
diff --git a/src/main/csharp/Policies/RedeliveryPolicy.cs b/src/NMS.AMQP/Policies/RedeliveryPolicy.cs
similarity index 100%
rename from src/main/csharp/Policies/RedeliveryPolicy.cs
rename to src/NMS.AMQP/Policies/RedeliveryPolicy.cs
diff --git a/src/main/csharp/Queue.cs b/src/NMS.AMQP/Queue.cs
similarity index 100%
rename from src/main/csharp/Queue.cs
rename to src/NMS.AMQP/Queue.cs
diff --git a/src/main/csharp/RemoveSubscriptionLink.cs b/src/NMS.AMQP/RemoveSubscriptionLink.cs
similarity index 100%
rename from src/main/csharp/RemoveSubscriptionLink.cs
rename to src/NMS.AMQP/RemoveSubscriptionLink.cs
diff --git a/src/main/csharp/Session.cs b/src/NMS.AMQP/Session.cs
similarity index 100%
rename from src/main/csharp/Session.cs
rename to src/NMS.AMQP/Session.cs
diff --git a/src/main/csharp/TemporaryLink.cs b/src/NMS.AMQP/TemporaryLink.cs
similarity index 100%
rename from src/main/csharp/TemporaryLink.cs
rename to src/NMS.AMQP/TemporaryLink.cs
diff --git a/src/main/csharp/Topic.cs b/src/NMS.AMQP/Topic.cs
similarity index 100%
rename from src/main/csharp/Topic.cs
rename to src/NMS.AMQP/Topic.cs
diff --git a/src/main/csharp/Transport/AMQP/TransportContext.cs b/src/NMS.AMQP/Transport/AMQP/TransportContext.cs
similarity index 100%
rename from src/main/csharp/Transport/AMQP/TransportContext.cs
rename to src/NMS.AMQP/Transport/AMQP/TransportContext.cs
diff --git a/src/main/csharp/Transport/IProviderTransportContext.cs b/src/NMS.AMQP/Transport/IProviderTransportContext.cs
similarity index 100%
rename from src/main/csharp/Transport/IProviderTransportContext.cs
rename to src/NMS.AMQP/Transport/IProviderTransportContext.cs
diff --git a/src/main/csharp/Transport/Secure/AMQP/SecureTransportContext.cs b/src/NMS.AMQP/Transport/Secure/AMQP/SecureTransportContext.cs
similarity index 100%
rename from src/main/csharp/Transport/Secure/AMQP/SecureTransportContext.cs
rename to src/NMS.AMQP/Transport/Secure/AMQP/SecureTransportContext.cs
diff --git a/src/main/csharp/Transport/Secure/IProviderSecureTransportContext.cs b/src/NMS.AMQP/Transport/Secure/IProviderSecureTransportContext.cs
similarity index 100%
rename from src/main/csharp/Transport/Secure/IProviderSecureTransportContext.cs
rename to src/NMS.AMQP/Transport/Secure/IProviderSecureTransportContext.cs
diff --git a/src/main/csharp/Util/AtomicSequence.cs b/src/NMS.AMQP/Util/AtomicSequence.cs
similarity index 100%
rename from src/main/csharp/Util/AtomicSequence.cs
rename to src/NMS.AMQP/Util/AtomicSequence.cs
diff --git a/src/main/csharp/Util/DispatchExecutor.cs b/src/NMS.AMQP/Util/DispatchExecutor.cs
similarity index 100%
rename from src/main/csharp/Util/DispatchExecutor.cs
rename to src/NMS.AMQP/Util/DispatchExecutor.cs
diff --git a/src/main/csharp/Util/ExceptionSupport.cs b/src/NMS.AMQP/Util/ExceptionSupport.cs
similarity index 100%
rename from src/main/csharp/Util/ExceptionSupport.cs
rename to src/NMS.AMQP/Util/ExceptionSupport.cs
diff --git a/src/main/csharp/Util/IdGenerator.cs b/src/NMS.AMQP/Util/IdGenerator.cs
similarity index 100%
rename from src/main/csharp/Util/IdGenerator.cs
rename to src/NMS.AMQP/Util/IdGenerator.cs
diff --git a/src/main/csharp/Util/LinkCache.cs b/src/NMS.AMQP/Util/LinkCache.cs
similarity index 100%
rename from src/main/csharp/Util/LinkCache.cs
rename to src/NMS.AMQP/Util/LinkCache.cs
diff --git a/src/main/csharp/Util/MessageSupport.cs b/src/NMS.AMQP/Util/MessageSupport.cs
similarity index 100%
rename from src/main/csharp/Util/MessageSupport.cs
rename to src/NMS.AMQP/Util/MessageSupport.cs
diff --git a/src/main/csharp/Util/PropertyUtil.cs b/src/NMS.AMQP/Util/PropertyUtil.cs
similarity index 100%
rename from src/main/csharp/Util/PropertyUtil.cs
rename to src/NMS.AMQP/Util/PropertyUtil.cs
diff --git a/src/main/csharp/Util/SymbolUtil.cs b/src/NMS.AMQP/Util/SymbolUtil.cs
similarity index 100%
rename from src/main/csharp/Util/SymbolUtil.cs
rename to src/NMS.AMQP/Util/SymbolUtil.cs
diff --git a/src/main/csharp/Util/TaskUtil.cs b/src/NMS.AMQP/Util/TaskUtil.cs
similarity index 100%
rename from src/main/csharp/Util/TaskUtil.cs
rename to src/NMS.AMQP/Util/TaskUtil.cs
diff --git a/src/main/csharp/Util/Types/ConversionSupport.cs b/src/NMS.AMQP/Util/Types/ConversionSupport.cs
similarity index 100%
rename from src/main/csharp/Util/Types/ConversionSupport.cs
rename to src/NMS.AMQP/Util/Types/ConversionSupport.cs
diff --git a/src/main/csharp/Util/Types/Map/AMQP/AMQPPrimitiveMap.cs b/src/NMS.AMQP/Util/Types/Map/AMQP/AMQPPrimitiveMap.cs
similarity index 100%
rename from src/main/csharp/Util/Types/Map/AMQP/AMQPPrimitiveMap.cs
rename to src/NMS.AMQP/Util/Types/Map/AMQP/AMQPPrimitiveMap.cs
diff --git a/src/main/csharp/Util/Types/Map/AMQP/AMQPValueMap.cs b/src/NMS.AMQP/Util/Types/Map/AMQP/AMQPValueMap.cs
similarity index 100%
rename from src/main/csharp/Util/Types/Map/AMQP/AMQPValueMap.cs
rename to src/NMS.AMQP/Util/Types/Map/AMQP/AMQPValueMap.cs
diff --git a/src/main/csharp/Util/Types/Map/PrimitiveMapBase.cs b/src/NMS.AMQP/Util/Types/Map/PrimitiveMapBase.cs
similarity index 100%
rename from src/main/csharp/Util/Types/Map/PrimitiveMapBase.cs
rename to src/NMS.AMQP/Util/Types/Map/PrimitiveMapBase.cs
diff --git a/src/main/csharp/Util/Types/Queue/FIFOMessageQueue.cs b/src/NMS.AMQP/Util/Types/Queue/FIFOMessageQueue.cs
similarity index 100%
rename from src/main/csharp/Util/Types/Queue/FIFOMessageQueue.cs
rename to src/NMS.AMQP/Util/Types/Queue/FIFOMessageQueue.cs
diff --git a/src/main/csharp/Util/Types/Queue/IMessageQueue.cs b/src/NMS.AMQP/Util/Types/Queue/IMessageQueue.cs
similarity index 100%
rename from src/main/csharp/Util/Types/Queue/IMessageQueue.cs
rename to src/NMS.AMQP/Util/Types/Queue/IMessageQueue.cs
diff --git a/src/main/csharp/Util/Types/Queue/MessageQueueBase.cs b/src/NMS.AMQP/Util/Types/Queue/MessageQueueBase.cs
similarity index 100%
rename from src/main/csharp/Util/Types/Queue/MessageQueueBase.cs
rename to src/NMS.AMQP/Util/Types/Queue/MessageQueueBase.cs
diff --git a/src/main/csharp/Util/Types/Queue/PriorityMessageQueue.cs b/src/NMS.AMQP/Util/Types/Queue/PriorityMessageQueue.cs
similarity index 100%
rename from src/main/csharp/Util/Types/Queue/PriorityMessageQueue.cs
rename to src/NMS.AMQP/Util/Types/Queue/PriorityMessageQueue.cs
diff --git a/src/main/csharp/Util/UriUtil.cs b/src/NMS.AMQP/Util/UriUtil.cs
similarity index 100%
rename from src/main/csharp/Util/UriUtil.cs
rename to src/NMS.AMQP/Util/UriUtil.cs
diff --git a/src/example/csharp/StructuredMessage/StructuredMessage.cs b/src/StructuredMessage/StructuredMessage.cs
similarity index 100%
rename from src/example/csharp/StructuredMessage/StructuredMessage.cs
rename to src/StructuredMessage/StructuredMessage.cs
diff --git a/src/StructuredMessage/StructuredMessage.csproj b/src/StructuredMessage/StructuredMessage.csproj
new file mode 100644
index 0000000..ca620d3
--- /dev/null
+++ b/src/StructuredMessage/StructuredMessage.csproj
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you 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.
+-->
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <TargetFrameworks>net462;netcoreapp2.2</TargetFrameworks>
+    <OutputType>Exe</OutputType>
+    <RootNamespace>StructuredMessage</RootNamespace>
+    <AssemblyName>StructuredMessage</AssemblyName>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <PackageReference Include="CommandLineParser" Version="2.2.1" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\NMS.AMQP\Apache-NMS-AMQP.csproj" />
+  </ItemGroup>
+</Project>
diff --git a/test/Apache-NMS-AMQP-Test.csproj b/test/Apache-NMS-AMQP-Test.csproj
index 5c35f67..fd41fce 100644
--- a/test/Apache-NMS-AMQP-Test.csproj
+++ b/test/Apache-NMS-AMQP-Test.csproj
@@ -1,4 +1,4 @@
-<!--
+<!--
 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
@@ -15,44 +15,28 @@
 under the License.
 -->
 <Project Sdk="Microsoft.NET.Sdk">
-
   <PropertyGroup>
     <TargetFrameworks>net462;netcoreapp2.2</TargetFrameworks>
-
     <RootNamespace>NMS.AMQP.Test</RootNamespace>
     <AssemblyName>NMS.AMQP.Test</AssemblyName>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    
-    <EnableDefaultCompileItems>false</EnableDefaultCompileItems>
-    <GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
-    <GenerateAssemblyDescriptionAttribute>false</GenerateAssemblyDescriptionAttribute>
-    <GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
-    <GenerateAssemblyInformationalVersionAttribute>false</GenerateAssemblyInformationalVersionAttribute>
-    <GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
-    <GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>
-    <GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
-    <GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
   </PropertyGroup>
   <ItemGroup>
-    <Compile Include="../src/test/csharp/**" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-  </ItemGroup>
-  <ItemGroup>
     <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.1.0" />
     <PackageReference Include="NUnit" Version="3.8.1" />
     <PackageReference Include="NUnit.Console" Version="3.7.0" />
     <PackageReference Include="NUnit3TestAdapter" Version="3.10.0" />
   </ItemGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\src\NMS.AMQP\Apache-NMS-AMQP.csproj" />
+  </ItemGroup>
+
   <ItemGroup>
     <None Include=".\config\cert\client.crt" Link="client.crt">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
-    <ProjectReference Include="..\NMS.AMQP\Apache-NMS-AMQP.csproj" />
-    <None Update="config\Adapter.runsettings">
-    </None>
     <None Update="TestSuite.config">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
   </ItemGroup>
-
 </Project>
diff --git a/test/Properties/AssemblyInfo.cs b/test/Properties/AssemblyInfo.cs
deleted file mode 100644
index 47f8fad..0000000
--- a/test/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// 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("NMS-AMQP.Test")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Apache")]
-[assembly: AssemblyProduct("NMS-AMQP.Test")]
-[assembly: AssemblyCopyright("Copyright © Apache 2017")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-
-
-// 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 Build and Revision Numbers 
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("0.0.0.1")]
-[assembly: AssemblyFileVersion("0.0.0.1")]
-[assembly: AssemblyInformationalVersion("0.0.0-initial-1")]
diff --git a/test/Properties/launchSettings.json b/test/Properties/launchSettings.json
deleted file mode 100644
index 3d5a765..0000000
--- a/test/Properties/launchSettings.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-  "profiles": {
-    "NMS-AMQP.Test": {
-      "commandName": "Executable",
-      "executablePath": "C:\\Users\\rpaulson\\.nuget\\packages\\nunit.consolerunner\\3.7.0\\tools\\nunit3-console.exe",
-      "commandLineArgs": "NMS.AMQP.Test.dll --test NMS.AMQP.Test.TestCase.MessageTest.TestBytesMessage",
-      "workingDirectory": "D:\\sb\\github\\activemq-nms-amqp\\test\\bin\\Debug\\net452"
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/test/csharp/Test/Attribute/ConnectionSetup.cs b/test/Test/Attribute/ConnectionSetup.cs
similarity index 100%
rename from src/test/csharp/Test/Attribute/ConnectionSetup.cs
rename to test/Test/Attribute/ConnectionSetup.cs
diff --git a/src/test/csharp/Test/Attribute/ConsumerSetup.cs b/test/Test/Attribute/ConsumerSetup.cs
similarity index 100%
rename from src/test/csharp/Test/Attribute/ConsumerSetup.cs
rename to test/Test/Attribute/ConsumerSetup.cs
diff --git a/src/test/csharp/Test/Attribute/DestinationSetup.cs b/test/Test/Attribute/DestinationSetup.cs
similarity index 100%
rename from src/test/csharp/Test/Attribute/DestinationSetup.cs
rename to test/Test/Attribute/DestinationSetup.cs
diff --git a/src/test/csharp/Test/Attribute/ProducerSetup.cs b/test/Test/Attribute/ProducerSetup.cs
similarity index 100%
rename from src/test/csharp/Test/Attribute/ProducerSetup.cs
rename to test/Test/Attribute/ProducerSetup.cs
diff --git a/src/test/csharp/Test/Attribute/SessionSetup.cs b/test/Test/Attribute/SessionSetup.cs
similarity index 100%
rename from src/test/csharp/Test/Attribute/SessionSetup.cs
rename to test/Test/Attribute/SessionSetup.cs
diff --git a/src/test/csharp/Test/Attribute/TestSetup.cs b/test/Test/Attribute/TestSetup.cs
similarity index 100%
rename from src/test/csharp/Test/Attribute/TestSetup.cs
rename to test/Test/Attribute/TestSetup.cs
diff --git a/src/test/csharp/Test/TestCase/BaseTestCase.cs b/test/Test/TestCase/BaseTestCase.cs
similarity index 100%
rename from src/test/csharp/Test/TestCase/BaseTestCase.cs
rename to test/Test/TestCase/BaseTestCase.cs
diff --git a/src/test/csharp/Test/TestCase/ConnectionTest.cs b/test/Test/TestCase/ConnectionTest.cs
similarity index 100%
rename from src/test/csharp/Test/TestCase/ConnectionTest.cs
rename to test/Test/TestCase/ConnectionTest.cs
diff --git a/src/test/csharp/Test/TestCase/ConsumerTest.cs b/test/Test/TestCase/ConsumerTest.cs
similarity index 100%
rename from src/test/csharp/Test/TestCase/ConsumerTest.cs
rename to test/Test/TestCase/ConsumerTest.cs
diff --git a/src/test/csharp/Test/TestCase/MessageTest.cs b/test/Test/TestCase/MessageTest.cs
similarity index 100%
rename from src/test/csharp/Test/TestCase/MessageTest.cs
rename to test/Test/TestCase/MessageTest.cs
diff --git a/src/test/csharp/Test/TestCase/ProducerTest.cs b/test/Test/TestCase/ProducerTest.cs
similarity index 100%
rename from src/test/csharp/Test/TestCase/ProducerTest.cs
rename to test/Test/TestCase/ProducerTest.cs
diff --git a/src/test/csharp/Test/TestCase/SecureConnectionTest.cs b/test/Test/TestCase/SecureConnectionTest.cs
similarity index 100%
rename from src/test/csharp/Test/TestCase/SecureConnectionTest.cs
rename to test/Test/TestCase/SecureConnectionTest.cs
diff --git a/src/test/csharp/Test/TestCase/SessionTest.cs b/test/Test/TestCase/SessionTest.cs
similarity index 100%
rename from src/test/csharp/Test/TestCase/SessionTest.cs
rename to test/Test/TestCase/SessionTest.cs
diff --git a/src/test/csharp/Test/Util/NMSLogger.cs b/test/Test/Util/NMSLogger.cs
similarity index 100%
rename from src/test/csharp/Test/Util/NMSLogger.cs
rename to test/Test/Util/NMSLogger.cs
diff --git a/src/test/csharp/Test/Util/TestConfig.cs b/test/Test/Util/TestConfig.cs
similarity index 100%
rename from src/test/csharp/Test/Util/TestConfig.cs
rename to test/Test/Util/TestConfig.cs