Add support for .NET nanoFramework (#306)

- Add projects for libs (standard and micro versions)
- Tweak code files, mostly adding compiler defs to include correct namespace
- Add test project
- Add example projects
- Add nuspecs
- Update docs
- Update build queue to include nF projects
- Tweak AppVeyor yaml:
  + added a build matrix with one job running VS2015 image an the existing build
  + add a second job to the matrix running a VS2017 image and doing the nanoFramework part of the build
- Clone main solution and edit the new one for VS2017 removing all the projects, except the nanoFramework related (left the bulk of the structure there to be picked up when moving stuff to VS2017)

Signed-off-by: José Simões <jose.simoes@eclo.solutions>
This commit is contained in:
José Simões 2018-10-23 02:45:12 +01:00 коммит произвёл Xin Chen
Родитель f1383c980a
Коммит 734ba49e69
31 изменённых файлов: 1772 добавлений и 54 удалений

Просмотреть файл

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<NanoFrameworkProjectSystemPath>$(MSBuildToolsPath)..\..\..\nanoFramework\v1.0\</NanoFrameworkProjectSystemPath>
</PropertyGroup>
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.Default.props" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.Default.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectTypeGuids>{11A8DD76-328B-46DF-9F39-F559912D0360};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<ProjectGuid>058153c5-5319-43b3-a10b-c50521ed02ea</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<FileAlignment>512</FileAlignment>
<RootNamespace>Device.SmallMemory</RootNamespace>
<AssemblyName>Device.SmallMemory.nanoFramework</AssemblyName>
<TargetFrameworkVersion>v1.0</TargetFrameworkVersion>
</PropertyGroup>
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.props" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.props')" />
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\nanoFramework\Amqp.Micro.nanoFramework.nfproj" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<Reference Include="mscorlib, Version=1.0.4.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\..\..\packages\nanoFramework.CoreLibrary.1.0.4\lib\mscorlib.dll</HintPath>
<Private>True</Private>
<SpecificVersion>True</SpecificVersion>
</Reference>
</ItemGroup>
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets')" />
<ProjectExtensions>
<ProjectCapabilities>
<ProjectConfigurationsDeclaredAsItems />
</ProjectCapabilities>
</ProjectExtensions>
</Project>

Просмотреть файл

@ -0,0 +1,96 @@
// ------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation
// All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the ""License""); you may not use this
// file except in compliance with the License. You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
// EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR
// CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR
// NON-INFRINGEMENT.
//
// See the Apache Version 2.0 License for specific language governing permissions and
// limitations under the License.
// ------------------------------------------------------------------------------------
using System;
using System.Threading;
using Amqp;
using Amqp.Types;
namespace Device.SmallMemory
{
public class Program
{
// this example program connects to an Azure IoT hub sends a couple of messages and waits for messages from
// it was tested with an STM32F769I-DISCO board.
// replace with IoT Hub name
const string iotHubName = "<replace>";
// replace with device name
const string device = "<replace>";
// user/pass to be authenticated with Azure IoT hub
// if using a shared access signature like SharedAccessSignature sr=myhub.azure-devices.net&sig=H4Rm2%2bjdBr84lq5KOddD9YpOSC8s7ZSe9SygErVuPe8%3d&se=1444444444&skn=userNameHere
// user will be userNameHere and password the complete SAS string
const string iotUser = "<replace>";
const string sasToken = "<replace>";
public static void Main()
{
Send();
}
static void Send()
{
const int nMsgs = 50;
// Map IotHub settings to AMQP protocol settings
string hostName = iotHubName + ".azure-devices.net";
int port = 5671;
string userName = iotUser + "@sas.root." + iotHubName;
string password = sasToken;
string senderAddress = "devices/" + device + "/messages/events";
string receiverAddress = "devices/" + device + "/messages/deviceBound";
Client client = new Client();
client.OnError += client_OnError;
client.Connect(hostName, port, true, userName, password);
int count = 0;
ManualResetEvent done = new ManualResetEvent(false);
Receiver receiver = client.CreateReceiver(receiverAddress);
receiver.Start(20, (r, m) =>
{
r.Accept(m);
if (++count >= nMsgs) done.Set();
});
Thread.Sleep(1000);
Sender[] senders = new Sender[5];
for (int i = 0; i < senders.Length; i++)
{
senders[i] = client.CreateSender(senderAddress);
}
for (int i = 0; i < nMsgs; i++)
{
senders[i % senders.Length].Send(new Message() { Body = Guid.NewGuid().ToString() });
}
done.WaitOne(120000, false);
client.Close();
}
static void client_OnError(Client client, Link link, Symbol error)
{
Console.WriteLine((link != null ? "Link" : "Client") + " was closed due to error " + (error ?? "[unknown]"));
}
}
}

Просмотреть файл

@ -0,0 +1,33 @@
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("Device.SmallMemory")]
[assembly: AssemblyDescription("AMQP Lite Device SmallMemory example project for nanoFramework platform")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Device.SmallMemory")]
[assembly: AssemblyCopyright("Copyright © 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)]
// 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")]

Просмотреть файл

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="nanoFramework.CoreLibrary" version="1.0.4" targetFramework="netnanoframework10" />
</packages>

Просмотреть файл

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<NanoFrameworkProjectSystemPath>$(MSBuildToolsPath)..\..\..\nanoFramework\v1.0\</NanoFrameworkProjectSystemPath>
</PropertyGroup>
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.Default.props" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.Default.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectTypeGuids>{11A8DD76-328B-46DF-9F39-F559912D0360};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<ProjectGuid>aa510bd3-3aa7-4d0c-8b2e-fd03fee288f4</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<FileAlignment>512</FileAlignment>
<RootNamespace>Device.Thermometer</RootNamespace>
<AssemblyName>Device.Thermometer.nanoFramework</AssemblyName>
<TargetFrameworkVersion>v1.0</TargetFrameworkVersion>
</PropertyGroup>
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.props" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.props')" />
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\nanoFramework\Amqp.nanoFramework.nfproj" />
</ItemGroup>
<ItemGroup>
<Reference Include="mscorlib, Version=1.0.4.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\..\..\packages\nanoFramework.CoreLibrary.1.0.4\lib\mscorlib.dll</HintPath>
<Private>True</Private>
<SpecificVersion>True</SpecificVersion>
</Reference>
<Reference Include="nanoFramework.Runtime.Events, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\..\..\packages\nanoFramework.Runtime.Events.1.0.0\lib\nanoFramework.Runtime.Events.dll</HintPath>
<Private>True</Private>
<SpecificVersion>True</SpecificVersion>
</Reference>
<Reference Include="Windows.Devices.Gpio, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\..\..\packages\nanoFramework.Windows.Devices.Gpio.1.0.0\lib\Windows.Devices.Gpio.dll</HintPath>
<Private>True</Private>
<SpecificVersion>True</SpecificVersion>
</Reference>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets')" />
<ProjectExtensions>
<ProjectCapabilities>
<ProjectConfigurationsDeclaredAsItems />
</ProjectCapabilities>
</ProjectExtensions>
</Project>

Просмотреть файл

@ -0,0 +1,124 @@
// ------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation
// All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the ""License""); you may not use this
// file except in compliance with the License. You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
// EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR
// CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR
// NON-INFRINGEMENT.
//
// See the Apache Version 2.0 License for specific language governing permissions and
// limitations under the License.
// ------------------------------------------------------------------------------------
using System;
using System.Threading;
using Amqp;
using Windows.Devices.Gpio;
using AmqpTrace = Amqp.Trace;
namespace Device.Thermometer
{
/// The thermometer runs on a nanoFramework device.
/// It was tested with an STM32F769I-DISCO board.
/// Click user button to send a random temperature value to the broker.
/// Ensure the broker is running and change the host name below.
/// If using "amqps", ensure SSL is working on the device.
/// The app works with the test broker (see test\TestAmqpBroker). Start it as follows:
/// TestAmqpBroker.exe amqp://192.168.1.9:5672 /creds:guest:guest
/// Add "/trace:frame" to output frames for debugging if required.
public class Program
{
////////////////////////////////////////////////////////////////////////
// update the IP bellow to the one of the TestAmqpBroker
private static string address = "amqp://guest:guest@192.168.1.9:5672";
////////////////////////////////////////////////////////////////////////
private static int temperature;
private static AutoResetEvent changed;
private static GpioPin _userButton;
public static void Main()
{
// setup user button
// F769I-DISCO -> USER_BUTTON is @ PA0 -> (0 * 16) + 0 = 0
_userButton = GpioController.GetDefault().OpenPin(0);
_userButton.SetDriveMode(GpioPinDriveMode.Input);
_userButton.ValueChanged += UserButton_ValueChanged;
AmqpTrace.TraceLevel = TraceLevel.Frame | TraceLevel.Verbose;
AmqpTrace.TraceListener = WriteTrace;
Connection.DisableServerCertValidation = true;
temperature = 68;
changed = new AutoResetEvent(true);
new Thread(Listen).Start();
Thread.Sleep(Timeout.Infinite);
}
private static void Listen()
{
// real application needs to implement error handling and recovery
Connection connection = new Connection(new Address(address));
Session session = new Session(connection);
SenderLink sender = new SenderLink(session, "send-link", "data");
ReceiverLink receiver = new ReceiverLink(session, "receive-link", "control");
receiver.Start(100, OnMessage);
while (true)
{
changed.WaitOne();
Message message = new Message();
message.ApplicationProperties = new Amqp.Framing.ApplicationProperties();
message.ApplicationProperties["temperature"] = temperature;
sender.Send(message, null, null);
AmqpTrace.WriteLine(TraceLevel.Information, "sent data to monitor");
}
}
private static void OnMessage(IReceiverLink receiver, Message message)
{
AmqpTrace.WriteLine(TraceLevel.Information, "received command from controller");
int button = (int)message.ApplicationProperties["button"];
OnAction(button);
}
private static void OnAction(int button)
{
WriteTrace(TraceLevel.Information, "receive action: {0}", button);
if (button == 38)
{
temperature++;
}
else if (button == 40)
{
temperature--;
}
changed.Set();
}
private static void UserButton_ValueChanged(object sender, GpioPinValueChangedEventArgs e)
{
WriteTrace(TraceLevel.Information, "User button pressed, generating random temperature value");
// generate a random temperature value
var random = new Random();
temperature = random.Next(50);
changed.Set();
}
static void WriteTrace(TraceLevel level, string format, params object[] args)
{
Console.WriteLine(Fx.Format(format, args));
}
}
}

Просмотреть файл

@ -0,0 +1,33 @@
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("Device.Thermometer")]
[assembly: AssemblyDescription("AMQP Lite Device Thermometer example project for nanoFramework platform")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Device.SmallMemory")]
[assembly: AssemblyCopyright("Copyright © 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)]
// 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")]

Просмотреть файл

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="nanoFramework.CoreLibrary" version="1.0.4" targetFramework="netnanoframework10" />
<package id="nanoFramework.Runtime.Events" version="1.0.0" targetFramework="netnanoframework10" />
<package id="nanoFramework.Windows.Devices.Gpio" version="1.0.0" targetFramework="netnanoframework10" />
</packages>

Просмотреть файл

@ -1,6 +1,6 @@
## AmqpNetLite C# Examples
This directory contains example C# programs using the library. Some of the examples require an AMQP 1.0 broker with pre-configured queues. The examples are organized as follows:
* Device: examples for NETMF and Windows Phone.
* Device: examples for NETMF, nanoFramework and Windows Phone.
* Interop: clients interoperating with a broker in different patterns.
* Listener: usage of the listener APIs in server or broker applications.
* PeerToPeer: peer-to-peer communication.
@ -12,7 +12,9 @@ This directory contains example C# programs using the library. Some of the examp
| Device.Controller | A Windows Phone 8.0 app that reads temprature data from a "data" queue and sends commands to a "control" queue to adjust the temprature. |
| Device.Controller2 | Same as Device.Controller but for Windows Phone 8.1. |
| Device.Thermometer | A NETMF app that displays current temprature, sends it to a "data" queue, and reads commands from a "control" queue to change the temprature. |
| Device.Thermometer.nanoFramework | A nanoFramework app that displays current temprature, sends it to a "data" queue, and reads commands from a "control" queue to change the temprature. |
| Device.SmallMemory | A NETMF app that uses the Amqp.Micro.NetMF client to send and receive data to the Azure IoT Hub service. |
| Device.SmallMemory.nanoFramework | A nanoFramework app that uses the Amqp.Micro.NetMF client to send and receive data to the Azure IoT Hub service. |
### Interop Examples
| Project | Description |

Просмотреть файл

@ -1,6 +1,6 @@
# AMQP.Net Lite
AMQP.Net Lite is a lightweight AMQP 1.0 library for the .Net Framework, .Net Core, Windows Runtime platforms, .Net Micro Framework, and Mono. The library includes both a client and listener to enable peer to peer and broker based messaging.
AMQP.Net Lite is a lightweight AMQP 1.0 library for the .Net Framework, .Net Core, Windows Runtime platforms, .Net Micro Framework, .NET nanoFramework and Mono. The library includes both a client and listener to enable peer to peer and broker based messaging.
[Documentation](http://azure.github.io/amqpnetlite/)
[![Build status](https://ci.appveyor.com/api/projects/status/dph11pp7doubyw7t/branch/master?svg=true)](https://ci.appveyor.com/project/xinchen10/amqpnetlite/branch/master)
@ -12,7 +12,9 @@ AMQP.Net Lite is a lightweight AMQP 1.0 library for the .Net Framework, .Net Cor
|AMQPNetLite.Serialization (.Net Core)|[![NuGet Version and Downloads count](https://buildstats.info/nuget/AMQPNetLite.Serialization?includePreReleases=true)](https://www.nuget.org/packages/AMQPNetLite.Serialization/)|
|AMQPNetLite.WebSockets (.Net Core)|[![NuGet Version and Downloads count](https://buildstats.info/nuget/AMQPNetLite.WebSockets?includePreReleases=true)](https://www.nuget.org/packages/AMQPNetLite.WebSockets/)|
|AMQPNetLite.NetMF (NETMF)|[![NuGet Version and Downloads count](https://buildstats.info/nuget/AMQPNetLite.NetMF)](https://www.nuget.org/packages/AMQPNetLite.NetMF/)|
|AMQPNetLite.nanoFramework (nanoFramework)|[![NuGet Version and Downloads count](https://buildstats.info/nuget/AMQPNetLite.nanoFramework)](https://www.nuget.org/packages/AMQPNetLite.nanoFramework/)|
|AMQPNetMicro (NETMF)|[![NuGet Version and Downloads count](https://buildstats.info/nuget/AMQPNetMicro)](https://www.nuget.org/packages/AMQPNetMicro/)|
|AMQPNetMicro.nanoFramework (nanoFramework)|[![NuGet Version and Downloads count](https://buildstats.info/nuget/AMQPNetMicro.nanoFramework)](https://www.nuget.org/packages/AMQPNetMicro.nanoFramework/)|
## Features
* Full control of AMQP 1.0 protocol behavior.
@ -31,6 +33,7 @@ The following table shows what features are supported on each platform/framework
|net40 |+|+|+|+<sup>3</sup>|+|+| |+|
|net35 |+|+| | |+| | | |
|netmf   |+<sup>1</sup>|+| | | | | | |
|nanoFramework|+|+| | | | | | |
|uap10|+|+| |+| | | | |
|netcore451|+|+| |+| | | | |
|wpa81 |+|+| |+| | | | |
@ -47,6 +50,7 @@ The following table shows what features are supported on each platform/framework
## Tested Platforms
* .Net Framework 3.5, 4.0 and 4.5+.
* .NET Micro Framework 4.2, 4.3, 4.4.
* .NET nanoFramework 1.0.
* .NET Compact Framework 3.9.
* Windows Phone 8 and 8.1.
* Windows Store 8 and 8.1. Universal Windows App 10.

62
amqp-nanoFramework.sln Normal file
Просмотреть файл

@ -0,0 +1,62 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27703.2047
MinimumVisualStudioVersion = 10.0.40219.1
Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "Amqp.nanoFramework", "nanoFramework\Amqp.nanoFramework.nfproj", "{85CCCE74-74B0-426A-AE98-CC37E3C269C0}"
EndProject
Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "Amqp.Micro.nanoFramework", "nanoFramework\Amqp.Micro.nanoFramework.nfproj", "{3FEB1DBC-D7FA-4F64-9F22-260755DC5CFB}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "examples", "examples", "{293DB0BF-B993-42B0-953E-200F01869A92}"
EndProject
Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "Device.Thermometer.nanoFramework", "Examples\Device\Device.Thermometer.nanoFramework\Device.Thermometer.nanoFramework.nfproj", "{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}"
EndProject
Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "Device.SmallMemory.nanoFramework", "Examples\Device\Device.SmallMemory.nanoFramework\Device.SmallMemory.nanoFramework.nfproj", "{058153C5-5319-43B3-A10B-C50521ED02EA}"
EndProject
Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "Test.Amqp.nanoFramework", "nanoFramework\Test.Amqp.nanoFramework.nfproj", "{BB6F7AFC-95FA-4D1B-9D81-B5F9266EDFD2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{85CCCE74-74B0-426A-AE98-CC37E3C269C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{85CCCE74-74B0-426A-AE98-CC37E3C269C0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{85CCCE74-74B0-426A-AE98-CC37E3C269C0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{85CCCE74-74B0-426A-AE98-CC37E3C269C0}.Release|Any CPU.Build.0 = Release|Any CPU
{85CCCE74-74B0-426A-AE98-CC37E3C269C0}.Release|Any CPU.Deploy.0 = Release|Any CPU
{3FEB1DBC-D7FA-4F64-9F22-260755DC5CFB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3FEB1DBC-D7FA-4F64-9F22-260755DC5CFB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3FEB1DBC-D7FA-4F64-9F22-260755DC5CFB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3FEB1DBC-D7FA-4F64-9F22-260755DC5CFB}.Release|Any CPU.Build.0 = Release|Any CPU
{3FEB1DBC-D7FA-4F64-9F22-260755DC5CFB}.Release|Any CPU.Deploy.0 = Release|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Release|Any CPU.Build.0 = Release|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Release|Any CPU.Deploy.0 = Release|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Release|Any CPU.Build.0 = Release|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Release|Any CPU.Deploy.0 = Release|Any CPU
{BB6F7AFC-95FA-4D1B-9D81-B5F9266EDFD2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BB6F7AFC-95FA-4D1B-9D81-B5F9266EDFD2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BB6F7AFC-95FA-4D1B-9D81-B5F9266EDFD2}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{BB6F7AFC-95FA-4D1B-9D81-B5F9266EDFD2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BB6F7AFC-95FA-4D1B-9D81-B5F9266EDFD2}.Release|Any CPU.Build.0 = Release|Any CPU
{BB6F7AFC-95FA-4D1B-9D81-B5F9266EDFD2}.Release|Any CPU.Deploy.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4} = {293DB0BF-B993-42B0-953E-200F01869A92}
{058153C5-5319-43B3-A10B-C50521ED02EA} = {293DB0BF-B993-42B0-953E-200F01869A92}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {BD6F2812-CD19-4447-B98C-4961F6F0BDC8}
EndGlobalSection
EndGlobal

198
amqp.2017.sln Normal file
Просмотреть файл

@ -0,0 +1,198 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28010.2026
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{679989B2-8717-4ECC-9CAD-B104CFA91C38}"
ProjectSection(SolutionItems) = preProject
src\amqp.snk = src\amqp.snk
nuspec\AMQPNetLite.nanoFramework.nuspec = nuspec\AMQPNetLite.nanoFramework.nuspec
nuspec\AMQPNetMicro.nanoFramework.nuspec = nuspec\AMQPNetMicro.nanoFramework.nuspec
appveyor.yml = appveyor.yml
build.2017.cmd = build.2017.cmd
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Examples", "Examples", "{8F701234-EC60-485C-BCDB-8EE233246832}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Interop", "Interop", "{612E8E0A-6CB6-45C9-9A05-CFC7F26A5C05}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ServiceBus", "ServiceBus", "{4A93A5B6-B935-4F86-B3DE-95B0F6EBEA56}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PeerToPeer", "PeerToPeer", "{7FF80B2D-4158-41D3-BC87-60C018028F53}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Device", "Device", "{BF554E12-7096-465F-B1D0-9ACFF00877F2}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Listener", "Listener", "{89F13102-4826-4406-844B-7B21C47885E7}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "dotnet", "dotnet", "{57BFDBF2-F67F-4D14-953F-5DA8FB06B52C}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{3A334EFA-47FA-4CE2-9306-FDFF7CF47157}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reconnect", "Reconnect", "{B61E3B51-78CB-4047-8078-0B987E5E9742}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Serialization", "Serialization", "{3C94DB48-3DDB-429C-8033-87F560607AA6}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "netmf", "netmf", "{E0C378B0-4AF7-4C1F-A068-81A23FF8894E}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "nanoFramework", "nanoFramework", "{3BA1A9EE-75A3-4483-B829-7E0C555B30EF}"
EndProject
Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "Device.SmallMemory.nanoFramework", "Examples\Device\Device.SmallMemory.nanoFramework\Device.SmallMemory.nanoFramework.nfproj", "{058153C5-5319-43B3-A10B-C50521ED02EA}"
EndProject
Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "Device.Thermometer.nanoFramework", "Examples\Device\Device.Thermometer.nanoFramework\Device.Thermometer.nanoFramework.nfproj", "{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}"
EndProject
Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "Amqp.Micro.nanoFramework", "nanoFramework\Amqp.Micro.nanoFramework.nfproj", "{F66A975C-A958-4D17-BCF3-AC28CE9D460B}"
EndProject
Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "Amqp.nanoFramework", "nanoFramework\Amqp.nanoFramework.nfproj", "{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}"
EndProject
Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "Test.Amqp.nanoFramework", "nanoFramework\Test.Amqp.nanoFramework.nfproj", "{3E5028BE-B7FA-4D5D-A931-132032FD1171}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|ARM = Debug|ARM
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|ARM = Release|ARM
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{058153C5-5319-43B3-A10B-C50521ED02EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Debug|ARM.ActiveCfg = Debug|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Debug|ARM.Build.0 = Debug|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Debug|ARM.Deploy.0 = Debug|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Debug|x64.ActiveCfg = Debug|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Debug|x64.Build.0 = Debug|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Debug|x64.Deploy.0 = Debug|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Debug|x86.ActiveCfg = Debug|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Debug|x86.Build.0 = Debug|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Debug|x86.Deploy.0 = Debug|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Release|Any CPU.Build.0 = Release|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Release|Any CPU.Deploy.0 = Release|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Release|ARM.ActiveCfg = Release|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Release|ARM.Build.0 = Release|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Release|ARM.Deploy.0 = Release|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Release|x64.ActiveCfg = Release|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Release|x64.Build.0 = Release|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Release|x64.Deploy.0 = Release|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Release|x86.ActiveCfg = Release|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Release|x86.Build.0 = Release|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Release|x86.Deploy.0 = Release|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Debug|ARM.ActiveCfg = Debug|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Debug|ARM.Build.0 = Debug|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Debug|ARM.Deploy.0 = Debug|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Debug|x64.ActiveCfg = Debug|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Debug|x64.Build.0 = Debug|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Debug|x64.Deploy.0 = Debug|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Debug|x86.ActiveCfg = Debug|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Debug|x86.Build.0 = Debug|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Debug|x86.Deploy.0 = Debug|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Release|Any CPU.Build.0 = Release|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Release|Any CPU.Deploy.0 = Release|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Release|ARM.ActiveCfg = Release|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Release|ARM.Build.0 = Release|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Release|ARM.Deploy.0 = Release|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Release|x64.ActiveCfg = Release|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Release|x64.Build.0 = Release|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Release|x64.Deploy.0 = Release|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Release|x86.ActiveCfg = Release|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Release|x86.Build.0 = Release|Any CPU
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Release|x86.Deploy.0 = Release|Any CPU
{F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Debug|ARM.ActiveCfg = Debug|Any CPU
{F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Debug|ARM.Build.0 = Debug|Any CPU
{F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Debug|ARM.Deploy.0 = Debug|Any CPU
{F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Debug|x64.ActiveCfg = Debug|Any CPU
{F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Debug|x64.Build.0 = Debug|Any CPU
{F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Debug|x64.Deploy.0 = Debug|Any CPU
{F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Debug|x86.ActiveCfg = Debug|Any CPU
{F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Debug|x86.Build.0 = Debug|Any CPU
{F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Debug|x86.Deploy.0 = Debug|Any CPU
{F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Release|Any CPU.Build.0 = Release|Any CPU
{F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Release|Any CPU.Deploy.0 = Release|Any CPU
{F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Release|ARM.ActiveCfg = Release|Any CPU
{F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Release|ARM.Build.0 = Release|Any CPU
{F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Release|ARM.Deploy.0 = Release|Any CPU
{F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Release|x64.ActiveCfg = Release|Any CPU
{F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Release|x64.Build.0 = Release|Any CPU
{F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Release|x64.Deploy.0 = Release|Any CPU
{F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Release|x86.ActiveCfg = Release|Any CPU
{F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Release|x86.Build.0 = Release|Any CPU
{F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Release|x86.Deploy.0 = Release|Any CPU
{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Debug|ARM.ActiveCfg = Debug|Any CPU
{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Debug|ARM.Build.0 = Debug|Any CPU
{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Debug|ARM.Deploy.0 = Debug|Any CPU
{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Debug|x64.ActiveCfg = Debug|Any CPU
{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Debug|x64.Build.0 = Debug|Any CPU
{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Debug|x64.Deploy.0 = Debug|Any CPU
{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Debug|x86.ActiveCfg = Debug|Any CPU
{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Debug|x86.Build.0 = Debug|Any CPU
{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Debug|x86.Deploy.0 = Debug|Any CPU
{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Release|Any CPU.Build.0 = Release|Any CPU
{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Release|Any CPU.Deploy.0 = Release|Any CPU
{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Release|ARM.ActiveCfg = Release|Any CPU
{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Release|ARM.Build.0 = Release|Any CPU
{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Release|ARM.Deploy.0 = Release|Any CPU
{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Release|x64.ActiveCfg = Release|Any CPU
{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Release|x64.Build.0 = Release|Any CPU
{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Release|x64.Deploy.0 = Release|Any CPU
{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Release|x86.ActiveCfg = Release|Any CPU
{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Release|x86.Build.0 = Release|Any CPU
{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Release|x86.Deploy.0 = Release|Any CPU
{3E5028BE-B7FA-4D5D-A931-132032FD1171}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3E5028BE-B7FA-4D5D-A931-132032FD1171}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3E5028BE-B7FA-4D5D-A931-132032FD1171}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{3E5028BE-B7FA-4D5D-A931-132032FD1171}.Debug|ARM.ActiveCfg = Debug|Any CPU
{3E5028BE-B7FA-4D5D-A931-132032FD1171}.Debug|ARM.Build.0 = Debug|Any CPU
{3E5028BE-B7FA-4D5D-A931-132032FD1171}.Debug|ARM.Deploy.0 = Debug|Any CPU
{3E5028BE-B7FA-4D5D-A931-132032FD1171}.Debug|x64.ActiveCfg = Debug|Any CPU
{3E5028BE-B7FA-4D5D-A931-132032FD1171}.Debug|x64.Build.0 = Debug|Any CPU
{3E5028BE-B7FA-4D5D-A931-132032FD1171}.Debug|x64.Deploy.0 = Debug|Any CPU
{3E5028BE-B7FA-4D5D-A931-132032FD1171}.Debug|x86.ActiveCfg = Debug|Any CPU
{3E5028BE-B7FA-4D5D-A931-132032FD1171}.Debug|x86.Build.0 = Debug|Any CPU
{3E5028BE-B7FA-4D5D-A931-132032FD1171}.Debug|x86.Deploy.0 = Debug|Any CPU
{3E5028BE-B7FA-4D5D-A931-132032FD1171}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3E5028BE-B7FA-4D5D-A931-132032FD1171}.Release|Any CPU.Build.0 = Release|Any CPU
{3E5028BE-B7FA-4D5D-A931-132032FD1171}.Release|Any CPU.Deploy.0 = Release|Any CPU
{3E5028BE-B7FA-4D5D-A931-132032FD1171}.Release|ARM.ActiveCfg = Release|Any CPU
{3E5028BE-B7FA-4D5D-A931-132032FD1171}.Release|ARM.Build.0 = Release|Any CPU
{3E5028BE-B7FA-4D5D-A931-132032FD1171}.Release|ARM.Deploy.0 = Release|Any CPU
{3E5028BE-B7FA-4D5D-A931-132032FD1171}.Release|x64.ActiveCfg = Release|Any CPU
{3E5028BE-B7FA-4D5D-A931-132032FD1171}.Release|x64.Build.0 = Release|Any CPU
{3E5028BE-B7FA-4D5D-A931-132032FD1171}.Release|x64.Deploy.0 = Release|Any CPU
{3E5028BE-B7FA-4D5D-A931-132032FD1171}.Release|x86.ActiveCfg = Release|Any CPU
{3E5028BE-B7FA-4D5D-A931-132032FD1171}.Release|x86.Build.0 = Release|Any CPU
{3E5028BE-B7FA-4D5D-A931-132032FD1171}.Release|x86.Deploy.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{612E8E0A-6CB6-45C9-9A05-CFC7F26A5C05} = {8F701234-EC60-485C-BCDB-8EE233246832}
{4A93A5B6-B935-4F86-B3DE-95B0F6EBEA56} = {8F701234-EC60-485C-BCDB-8EE233246832}
{7FF80B2D-4158-41D3-BC87-60C018028F53} = {8F701234-EC60-485C-BCDB-8EE233246832}
{BF554E12-7096-465F-B1D0-9ACFF00877F2} = {8F701234-EC60-485C-BCDB-8EE233246832}
{89F13102-4826-4406-844B-7B21C47885E7} = {8F701234-EC60-485C-BCDB-8EE233246832}
{B61E3B51-78CB-4047-8078-0B987E5E9742} = {8F701234-EC60-485C-BCDB-8EE233246832}
{3C94DB48-3DDB-429C-8033-87F560607AA6} = {8F701234-EC60-485C-BCDB-8EE233246832}
{058153C5-5319-43B3-A10B-C50521ED02EA} = {BF554E12-7096-465F-B1D0-9ACFF00877F2}
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4} = {BF554E12-7096-465F-B1D0-9ACFF00877F2}
{F66A975C-A958-4D17-BCF3-AC28CE9D460B} = {3BA1A9EE-75A3-4483-B829-7E0C555B30EF}
{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90} = {3BA1A9EE-75A3-4483-B829-7E0C555B30EF}
{3E5028BE-B7FA-4D5D-A931-132032FD1171} = {3A334EFA-47FA-4CE2-9306-FDFF7CF47157}
EndGlobalSection
EndGlobal

Просмотреть файл

@ -3,61 +3,116 @@ branches:
only:
- master
skip_tags: true
image: Visual Studio 2015
environment:
matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
FRAMEWORKS_TO_BUILD: REST_OF_FRAMEWORKS
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
FRAMEWORKS_TO_BUILD: NANOFRAMEWORK
before_build:
- ps: >-
If($env:FRAMEWORKS_TO_BUILD -eq "REST_OF_FRAMEWORKS")
{
Write-Output "Installing .NET MicroFramework 4.3 ..."
$msiPath = "$($env:USERPROFILE)\MicroFrameworkSDK43.MSI"
(New-Object Net.WebClient).DownloadFile('https://github.com/Azure/amqpnetlite/releases/download/netmf4.3/MicroFrameworkSDK4.3.MSI', $msiPath)
& msiexec.exe /i $msiPath /quiet /log $env:USERPROFILE\netmf43.log | Write-Output
Write-Output "NETMF43 Installed"
Write-Output "Installing .NET MicroFramework 4.4 ..."
$msiPath = "$($env:USERPROFILE)\MicroFrameworkSDK44.MSI"
(New-Object Net.WebClient).DownloadFile('https://github.com/NETMF/netmf-interpreter/releases/download/v4.4-RTW-20-Oct-2015/MicroFrameworkSDK.MSI', $msiPath)
& msiexec.exe /i $msiPath /quiet /log $env:USERPROFILE\netmf44.log | Write-Output
Write-Output "NETMF44 Installed"
Write-Output "Copying NuGet.exe ..."
New-Item c:\projects\amqpnetlite\build\tools -type directory
copy c:\tools\NuGet\NuGet.exe c:\projects\amqpnetlite\build\tools\NuGet.exe
Write-Output "Expanding PATH ..."
$env:Path = "$($env:PATH);$($env:ProgramFiles)\dotnet;$($env:VS140COMNTOOLS)..\IDE"
[Environment]::SetEnvironmentVariable("PATH", $env:Path, "User")
Write-Output "Restoring dotnet projects ..."
pushd dotnet
dotnet restore
popd
}
Else
{
$vsixPath = "$($env:USERPROFILE)\nanoFramework.Tools.VS2017.Extension.vsix"
(New-Object Net.WebClient).DownloadFile('https://marketplace.visualstudio.com/_apis/public/gallery/publishers/vs-publisher-1470366/vsextensions/nanoFrameworkVS2017Extension/0/vspackage', $vsixPath)
"`"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VSIXInstaller.exe`" /q /a $vsixPath" | out-file ".\install-vsix.cmd" -Encoding ASCII
'Installing nanoFramework VS extension ...' | Write-Host -ForegroundColor White -NoNewline
&.\install-vsix.cmd --quiet --no-verbose > $null
'OK' | Write-Host -ForegroundColor Green
Write-Output "Copying NuGet.exe ..."
New-Item c:\projects\amqpnetlite\build\tools -type directory
copy c:\tools\NuGet\NuGet.exe c:\projects\amqpnetlite\build\tools\NuGet.exe
Write-Output "Restoring projects ..."
nuget restore amqp-nanoFramework.sln
}
build_script:
- ps: >-
Write-Output "Installing .NET MicroFramework 4.3 ..."
$msiPath = "$($env:USERPROFILE)\MicroFrameworkSDK43.MSI"
If($env:FRAMEWORKS_TO_BUILD -eq "REST_OF_FRAMEWORKS")
{
Write-Output "Invoking build.cmd script ..."
(New-Object Net.WebClient).DownloadFile('https://github.com/Azure/amqpnetlite/releases/download/netmf4.3/MicroFrameworkSDK4.3.MSI', $msiPath)
& c:\projects\amqpnetlite\build.cmd | Write-Output
& msiexec.exe /i $msiPath /quiet /log $env:USERPROFILE\netmf43.log | Write-Output
& c:\projects\amqpnetlite\build.cmd release | Write-Output
Write-Output "NETMF43 Installed"
}
Else
{
Write-Output "Invoking build.cmd script ..."
& c:\projects\amqpnetlite\build.2017.cmd | Write-Output
Write-Output "Installing .NET MicroFramework 4.4 ..."
& c:\projects\amqpnetlite\build.2017.cmd release | Write-Output
$msiPath = "$($env:USERPROFILE)\MicroFrameworkSDK44.MSI"
}
(New-Object Net.WebClient).DownloadFile('https://github.com/NETMF/netmf-interpreter/releases/download/v4.4-RTW-20-Oct-2015/MicroFrameworkSDK.MSI', $msiPath)
& msiexec.exe /i $msiPath /quiet /log $env:USERPROFILE\netmf44.log | Write-Output
Write-Output "NETMF44 Installed"
Write-Output "Copying NuGet.exe ..."
New-Item c:\projects\amqpnetlite\build\tools -type directory
copy c:\tools\NuGet\NuGet.exe c:\projects\amqpnetlite\build\tools\NuGet.exe
Write-Output "Expanding PATH ..."
$env:Path = "$($env:PATH);$($env:ProgramFiles)\dotnet;$($env:VS140COMNTOOLS)..\IDE"
[Environment]::SetEnvironmentVariable("PATH", $env:Path, "User")
Write-Output "Restoring dotnet projects ..."
pushd dotnet
dotnet restore
popd
Write-Output "Invoking build.cmd script ..."
& c:\projects\amqpnetlite\build.cmd | Write-Output
& c:\projects\amqpnetlite\build.cmd release | Write-Output
test: off
deploy: off
on_failure:
- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))

281
build.2017.cmd Normal file
Просмотреть файл

@ -0,0 +1,281 @@
@ECHO OFF
SETLOCAL EnableExtensions EnableDelayedExpansion
ECHO Build Amqp.Net Lite
ECHO.
SET return-code=0
CALL :findfile MSBuild exe
IF "%MSBuildPath%" == "" (
ECHO MSBuild.exe does not exist or is not under PATH.
ECHO This can be resolved by building from a VS developer command prompt.
CALL :handle-error 1
GOTO :exit
)
SET build-target=build
SET build-config=Debug
SET build-platform=Any CPU
SET build-verbosity=minimal
SET build-test=true
SET build-nuget=false
SET build-version=
IF /I "%1" EQU "release" (
set build-target=build
set build-config=Release
set build-nuget=true
GOTO :args-done
)
IF /I "%1" EQU "clean" (
set build-target=clean
GOTO :args-done
)
IF /I "%1" EQU "test" (
set build-target=test
GOTO :args-done
)
IF /I "%1" EQU "package" (
SET build-target=package
set build-config=Release
set build-test=false
set build-nuget=true
GOTO :args-done
)
:args-start
IF /I "%1" EQU "" GOTO args-done
IF /I "%1" EQU "--skiptest" SET build-test=false&&GOTO args-loop
IF /I "%1" EQU "--nuget" SET build-nuget=true&&GOTO args-loop
IF /I "%1" EQU "--config" GOTO :args-config
IF /I "%1" EQU "--platform" GOTO :args-platform
IF /I "%1" EQU "--verbosity" GOTO args-verbosity
SET return-code=1
GOTO :args-error
:args-config
SHIFT
SET build-config=%1
GOTO args-loop
:args-platform
SHIFT
SET build-platform=%1
GOTO args-loop
:args-verbosity
SHIFT
SET build-verbosity=%1
GOTO args-loop
:args-loop
SHIFT
GOTO :args-start
:args-error
CALL :handle-error 1
GOTO :exit
:args-done
ECHO Build target: %build-target%
ECHO Build configuration: %build-config%
ECHO Build platform: %build-platform%
ECHO Build run tests: %build-test%
ECHO Build NuGet package: %build-nuget%
ECHO.
IF /I "%build-config%" EQU "" GOTO :args-error
IF /I "%build-platform%" EQU "" GOTO :args-error
IF /I "%build-verbosity%" EQU "" GOTO :args-error
CALL :findfile dotnet exe
IF "%dotnetPath%" == "" (
ECHO .Net Core SDK is not installed. If you unzipped the package, make sure the location is in PATH.
GOTO :exit
)
:build-start
IF /I "%build-target%" == "clean" GOTO :build-clean
IF /I "%build-target%" == "build" GOTO :build-target
IF /I "%build-target%" == "test" GOTO :build-done
IF /I "%build-target%" == "package" GOTO :build-target
GOTO :args-error
TASKKILL /F /IM TestAmqpBroker.exe >nul 2>&1
:build-clean
SET return-code=0
CALL :run-build Clean
IF ERRORLEVEL 1 SET return-code=1
GOTO :exit
:build-target
FOR /F "tokens=1-3* delims=() " %%A in (.\src\Properties\Version.cs) do (
IF "%%B" == "AssemblyInformationalVersion" SET build-version=%%C
)
IF "%build-version%" == "" (
ECHO Cannot find version from Version.cs.
SET return-code=2
GOTO :exit
)
echo Build version %build-version%
CALL :findfile NuGet exe
IF "%NuGetPath%" == "" (
ECHO NuGet.exe does not exist or is not under PATH.
SET return-code=1
GOTO :exit
)
IF /I "%build-target%" == "package" GOTO :build-done
CALL :run-build Rebuild
IF ERRORLEVEL 1 (
SET return-code=1
GOTO :exit
)
:build-done
IF /I "%build-test%" EQU "false" GOTO :nuget-package
CALL :findfile MSTest exe
IF "%MSTestPath%" == "" (
ECHO MSTest.exe does not exist or is not under PATH. Will not run tests.
GOTO :exit
)
TASKLIST /NH /FI "IMAGENAME eq TestAmqpBroker.exe" | FINDSTR TestAmqpBroker.exe 1>nul 2>nul
IF NOT ERRORLEVEL 1 (
ECHO TestAmqpBroker is already running.
GOTO :run-test
)
REM SET TestBrokerPath=.\bin\%build-config%\TestAmqpBroker\TestAmqpBroker.exe
REM ECHO Starting the test AMQP broker
REM ECHO %TestBrokerPath% amqp://localhost:5672 amqps://localhost:5671 ws://localhost:18080 /creds:guest:guest /cert:localhost
REM START CMD.exe /C %TestBrokerPath% amqp://localhost:5672 amqps://localhost:5671 ws://localhost:18080 /creds:guest:guest /cert:localhost
REM rem Delay to allow broker to start up
REM PING -n 1 -w 2000 1.1.1.1 >nul 2>&1
REM :run-test
REM ECHO.
REM ECHO Running NET tests...
REM "%MSTestPath%" /testcontainer:.\bin\%build-config%\Test.Amqp.Net\Test.Amqp.Net.dll
REM IF ERRORLEVEL 1 (
REM SET return-code=1
REM ECHO Test failed!
REM TASKKILL /F /IM TestAmqpBroker.exe
REM IF /I "%is-elevated%" == "false" ECHO WebSocket tests may be failing because the broker was started without Administrator permission
REM GOTO :exit
REM )
REM ECHO.
REM ECHO Running NET40 tests...
REM "%MSTestPath%" /testcontainer:.\bin\%build-config%\Test.Amqp.Net40\Test.Amqp.Net40.dll
REM IF ERRORLEVEL 1 (
REM SET return-code=1
REM ECHO Test failed!
REM TASKKILL /F /IM TestAmqpBroker.exe
REM GOTO :exit
REM )
REM ECHO.
REM ECHO Running NET35 tests...
REM "%MSTestPath%" /testcontainer:.\bin\%build-config%\Test.Amqp.Net35\Test.Amqp.Net35.dll
REM IF ERRORLEVEL 1 (
REM SET return-code=1
REM ECHO Test failed!
REM TASKKILL /F /IM TestAmqpBroker.exe
REM GOTO :exit
REM )
REM ECHO.
REM ECHO Running DOTNET (.Net Core 1.0) tests...
REM "%dotnetPath%" bin\Test.Amqp\bin\%build-config%\netcoreapp1.0\Test.Amqp.dll -- no-broker
REM IF ERRORLEVEL 1 (
REM SET return-code=1
REM ECHO .Net Core Test failed!
REM GOTO :exit
REM )
REM :done-test
REM TASKKILL /F /IM TestAmqpBroker.exe
:nuget-package
IF /I "%build-nuget%" EQU "false" GOTO :exit
IF /I "%build-config%" NEQ "Release" (
ECHO Not building release. Skipping NuGet package.
GOTO :exit
)
rem Build NuGet package
ECHO.
IF "%NuGetPath%" == "" (
ECHO NuGet.exe does not exist or is not under PATH.
ECHO If you want to build NuGet package, install NuGet.CommandLine
ECHO package, or download NuGet.exe and place it under .\Build\tools
ECHO directory.
) ELSE (
IF NOT EXIST ".\Build\Packages" MKDIR ".\Build\Packages"
ECHO Building NuGet package with version %build-version%
FOR %%G IN ( AMQPNetLite.nanoFramework AMQPNetMicro.nanoFramework ) DO (
"%NuGetPath%" pack .\nuspec\%%G.nuspec -Version %build-version% -BasePath .\ -OutputDirectory ".\Build\Packages"
IF ERRORLEVEL 1 (
SET return-code=1
GOTO :exit
)
)
)
GOTO :exit
:exit
EXIT /b %return-code%
:usage
ECHO build.cmd [clean^|release^|test^|package] [options]
ECHO clean: clean intermediate files
ECHO release: a shortcut for "--config Release --nuget"
ECHO test: run tests only from existing build
ECHO package: create NuGet packages only from Release build
ECHO options:
ECHO --config ^<value^> [Debug] build configuration (e.g. Debug, Release)
ECHO --platform ^<value^> [Any CPU] build platform (e.g. Win32, x64, ...)
ECHO --verbosity ^<value^> [minimal] build verbosity (q[uiet], m[inimal], n[ormal], d[etailed] and diag[nostic])
ECHO --skiptest [false] skip test
ECHO --nuget [false] create NuGet packet (for Release only)
GOTO :eof
:handle-error
CALL :usage
SET return-code=%1
GOTO :eof
:run-build
ECHO Build solution amqp.2017.sln
"%NuGetPath%" restore amqp.2017.sln
IF ERRORLEVEL 1 EXIT /b 1
"%MSBuildPath%" amqp.2017.sln /t:%1 /nologo /p:Configuration=%build-config%;Platform="%build-platform%" /verbosity:%build-verbosity%
IF ERRORLEVEL 1 EXIT /b 1
REM ECHO Build other versions of the micro NETMF projects
REM FOR /L %%I IN (2,1,3) DO (
REM "%MSBuildPath%" .\netmf\Amqp.Micro.NetMF.csproj /t:%1 /nologo /p:Configuration=%build-config%;Platform="%build-platform: =%";FrameworkVersionMajor=4;FrameworkVersionMinor=%%I /verbosity:%build-verbosity%
REM IF ERRORLEVEL 1 EXIT /b 1
REM )
EXIT /b 0
:findfile
IF EXIST ".\Build\tools\%1.%2" (
SET %1Path=.\Build\tools\%1.%2
) ELSE (
FOR %%f IN (%1.%2) DO IF EXIST "%%~$PATH:f" SET %1Path=%%~$PATH:f
)
GOTO :eof

Просмотреть файл

@ -25,7 +25,7 @@ documentType: index
<div class="col-md-6 col-md-offset-3 text-center">
<section>
<h2>AMQP on .Net</h2>
<p class="lead">AMQP.Net Lite is a lightweight AMQP 1.0 library for the .Net Micro Framework, .Net Compact Framework, .Net Framework, .Net Core, Windows Runtime platforms, and Mono. The library includes both a client and listener to enable peer to peer and broker based messaging.</p>
<p class="lead">AMQP.Net Lite is a lightweight AMQP 1.0 library for the .Net Micro Framework, .NET nanoFramework, .Net Compact Framework, .Net Framework, .Net Core, Windows Runtime platforms, and Mono. The library includes both a client and listener to enable peer to peer and broker based messaging.</p>
</section>
</div>
</div>

Просмотреть файл

@ -0,0 +1,137 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<NanoFrameworkProjectSystemPath>$(MSBuildToolsPath)..\..\..\nanoFramework\v1.0\</NanoFrameworkProjectSystemPath>
</PropertyGroup>
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.Default.props" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.Default.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectTypeGuids>{11A8DD76-328B-46DF-9F39-F559912D0360};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<ProjectGuid>{F66A975C-A958-4D17-BCF3-AC28CE9D460B}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<FileAlignment>512</FileAlignment>
<RootNamespace>Amqp.Micro.nanoFramework</RootNamespace>
<AssemblyName>Amqp.Micro.nanoFramework</AssemblyName>
<TargetFrameworkVersion>v1.0</TargetFrameworkVersion>
<DefineConstants>$(DefineConstants);NETMF;NETMF_LITE</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DocumentationFile>..\bin\$(Configuration)\$(MSBuildProjectName)\$(AssemblyName).XML</DocumentationFile>
</PropertyGroup>
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.props" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.props')" />
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\bin\$(Configuration)\$(MSBuildProjectName)\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\bin\$(Configuration)\$(MSBuildProjectName)\</OutputPath>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\src\amqp.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\src\AmqpBitConverter.cs">
<Link>AmqpBitConverter.cs</Link>
</Compile>
<Compile Include="..\src\ByteBuffer.cs">
<Link>ByteBuffer.cs</Link>
</Compile>
<Compile Include="..\netmf\NetMFLite\Link.cs">
<Link>nFLite\Link.cs</Link>
</Compile>
<Compile Include="..\netmf\NetMFLite\ErrorCode.cs">
<Link>nFLite\ErrorCode.cs</Link>
</Compile>
<Compile Include="..\netmf\NetMFLite\Message.cs">
<Link>nFLite\Message.cs</Link>
</Compile>
<Compile Include="..\netmf\NetMFLite\Receiver.cs">
<Link>nFLite\Receiver.cs</Link>
</Compile>
<Compile Include="..\netmf\NetMFLite\Sender.cs">
<Link>nFLite\Sender.cs</Link>
</Compile>
<Compile Include="..\netmf\NetMFLite\Fx.cs">
<Link>nFLite\Fx.cs</Link>
</Compile>
<Compile Include="..\netmf\NetMF\List.cs">
<Link>nFLite\List.cs</Link>
</Compile>
<Compile Include="..\netmf\NetMF\Map.cs">
<Link>nFLite\Map.cs</Link>
</Compile>
<Compile Include="..\netmf\NetMFLite\Client.cs">
<Link>nFLite\Client.cs</Link>
</Compile>
<Compile Include="..\src\Properties\AssemblyInfo.cs">
<Link>Properties\AssemblyInfo.cs</Link>
</Compile>
<Compile Include="..\src\Properties\Version.cs">
<Link>Properties\Version.cs</Link>
</Compile>
<Compile Include="..\src\Types\Decimal.cs">
<Link>Types\Decimal.cs</Link>
</Compile>
<Compile Include="..\src\Types\Described.cs">
<Link>Types\Described.cs</Link>
</Compile>
<Compile Include="..\src\Types\DescribedValue.cs">
<Link>Types\DescribedValue.cs</Link>
</Compile>
<Compile Include="..\src\Types\Descriptor.cs">
<Link>Types\Descriptor.cs</Link>
</Compile>
<Compile Include="..\src\Types\Encoder.cs">
<Link>Types\Encoder.cs</Link>
</Compile>
<Compile Include="..\src\Types\FixedWidth.cs">
<Link>Types\FixedWidth.cs</Link>
</Compile>
<Compile Include="..\src\Types\FormatCode.cs">
<Link>Types\FormatCode.cs</Link>
</Compile>
<Compile Include="..\src\Types\RestrictedDescribed.cs">
<Link>Types\RestrictedDescribed.cs</Link>
</Compile>
<Compile Include="..\src\Types\Symbol.cs">
<Link>Types\Symbol.cs</Link>
</Compile>
</ItemGroup>
<ItemGroup>
<Reference Include="mscorlib, Version=1.0.4.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.CoreLibrary.1.0.4\lib\mscorlib.dll</HintPath>
<Private>True</Private>
<SpecificVersion>True</SpecificVersion>
</Reference>
<Reference Include="nanoFramework.Runtime.Events, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.Runtime.Events.1.0.0\lib\nanoFramework.Runtime.Events.dll</HintPath>
<Private>True</Private>
<SpecificVersion>True</SpecificVersion>
</Reference>
<Reference Include="nanoFramework.Runtime.Native, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.Runtime.Native.1.0.0\lib\nanoFramework.Runtime.Native.dll</HintPath>
<Private>True</Private>
<SpecificVersion>True</SpecificVersion>
</Reference>
<Reference Include="System.Net, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.System.Net.1.0.0\lib\System.Net.dll</HintPath>
<Private>True</Private>
<SpecificVersion>True</SpecificVersion>
</Reference>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets')" />
<ProjectExtensions>
<ProjectCapabilities>
<ProjectConfigurationsDeclaredAsItems />
</ProjectCapabilities>
</ProjectExtensions>
</Project>

Просмотреть файл

@ -0,0 +1,326 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<NanoFrameworkProjectSystemPath>$(MSBuildToolsPath)..\..\..\nanoFramework\v1.0\</NanoFrameworkProjectSystemPath>
</PropertyGroup>
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.Default.props" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.Default.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectTypeGuids>{11A8DD76-328B-46DF-9F39-F559912D0360};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<ProjectGuid>{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<FileAlignment>512</FileAlignment>
<RootNamespace>Amqp</RootNamespace>
<AssemblyName>Amqp.nanoFramework</AssemblyName>
<TargetFrameworkVersion>v1.0</TargetFrameworkVersion>
<DefineConstants>$(DefineConstants);NETMF</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DocumentationFile>..\bin\$(Configuration)\$(MSBuildProjectName)\$(AssemblyName).XML</DocumentationFile>
</PropertyGroup>
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.props" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.props')" />
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\bin\$(Configuration)\$(MSBuildProjectName)\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\bin\$(Configuration)\$(MSBuildProjectName)\</OutputPath>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\src\amqp.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\src\Address.cs">
<Link>Address.cs</Link>
</Compile>
<Compile Include="..\src\AmqpBitConverter.cs">
<Link>AmqpBitConverter.cs</Link>
</Compile>
<Compile Include="..\src\AmqpException.cs">
<Link>AmqpException.cs</Link>
</Compile>
<Compile Include="..\src\AmqpObject.cs">
<Link>AmqpObject.cs</Link>
</Compile>
<Compile Include="..\src\ByteBuffer.cs">
<Link>ByteBuffer.cs</Link>
</Compile>
<Compile Include="..\src\Connection.cs">
<Link>Connection.cs</Link>
</Compile>
<Compile Include="..\src\Delivery.cs">
<Link>Delivery.cs</Link>
</Compile>
<Compile Include="..\src\Framing\Accepted.cs">
<Link>Framing\Accepted.cs</Link>
</Compile>
<Compile Include="..\src\Framing\AmqpSequence.cs">
<Link>Framing\AmqpSequence.cs</Link>
</Compile>
<Compile Include="..\src\Framing\AmqpValue.cs">
<Link>Framing\AmqpValue.cs</Link>
</Compile>
<Compile Include="..\src\Framing\ApplicationProperties.cs">
<Link>Framing\ApplicationProperties.cs</Link>
</Compile>
<Compile Include="..\src\Framing\Attach.cs">
<Link>Framing\Attach.cs</Link>
</Compile>
<Compile Include="..\src\Framing\Begin.cs">
<Link>Framing\Begin.cs</Link>
</Compile>
<Compile Include="..\src\Framing\Close.cs">
<Link>Framing\Close.cs</Link>
</Compile>
<Compile Include="..\src\Framing\Codec.cs">
<Link>Framing\Codec.cs</Link>
</Compile>
<Compile Include="..\src\Framing\Data.cs">
<Link>Framing\Data.cs</Link>
</Compile>
<Compile Include="..\src\Framing\DeliveryAnnotations.cs">
<Link>Framing\DeliveryAnnotations.cs</Link>
</Compile>
<Compile Include="..\src\Framing\DeliveryState.cs">
<Link>Framing\DeliveryState.cs</Link>
</Compile>
<Compile Include="..\src\Framing\Detach.cs">
<Link>Framing\Detach.cs</Link>
</Compile>
<Compile Include="..\src\Framing\Dispose.cs">
<Link>Framing\Dispose.cs</Link>
</Compile>
<Compile Include="..\src\Framing\End.cs">
<Link>Framing\End.cs</Link>
</Compile>
<Compile Include="..\src\Framing\Error.cs">
<Link>Framing\Error.cs</Link>
</Compile>
<Compile Include="..\src\Framing\Flow.cs">
<Link>Framing\Flow.cs</Link>
</Compile>
<Compile Include="..\src\Framing\Footer.cs">
<Link>Framing\Footer.cs</Link>
</Compile>
<Compile Include="..\src\Framing\Frame.cs">
<Link>Framing\Frame.cs</Link>
</Compile>
<Compile Include="..\src\Framing\Header.cs">
<Link>Framing\Header.cs</Link>
</Compile>
<Compile Include="..\src\Framing\MessageAnnotations.cs">
<Link>Framing\MessageAnnotations.cs</Link>
</Compile>
<Compile Include="..\src\Framing\Modified.cs">
<Link>Framing\Modified.cs</Link>
</Compile>
<Compile Include="..\src\Framing\Open.cs">
<Link>Framing\Open.cs</Link>
</Compile>
<Compile Include="..\src\Framing\Outcome.cs">
<Link>Framing\Outcome.cs</Link>
</Compile>
<Compile Include="..\src\Framing\Properties.cs">
<Link>Framing\Properties.cs</Link>
</Compile>
<Compile Include="..\src\Framing\ProtocolHeader.cs">
<Link>Framing\ProtocolHeader.cs</Link>
</Compile>
<Compile Include="..\src\Framing\Reader.cs">
<Link>Framing\Reader.cs</Link>
</Compile>
<Compile Include="..\src\Framing\Received.cs">
<Link>Framing\Received.cs</Link>
</Compile>
<Compile Include="..\src\Framing\ReceiverSettleMode.cs">
<Link>Framing\ReceiverSettleMode.cs</Link>
</Compile>
<Compile Include="..\src\Framing\Rejected.cs">
<Link>Framing\Rejected.cs</Link>
</Compile>
<Compile Include="..\src\Framing\Released.cs">
<Link>Framing\Released.cs</Link>
</Compile>
<Compile Include="..\src\Framing\SenderSettleMode.cs">
<Link>Framing\SenderSettleMode.cs</Link>
</Compile>
<Compile Include="..\src\Framing\Source.cs">
<Link>Framing\Source.cs</Link>
</Compile>
<Compile Include="..\src\Framing\Target.cs">
<Link>Framing\Target.cs</Link>
</Compile>
<Compile Include="..\src\Framing\Transfer.cs">
<Link>Framing\Transfer.cs</Link>
</Compile>
<Compile Include="..\src\IAmqpObject.cs">
<Link>IAmqpObject.cs</Link>
</Compile>
<Compile Include="..\src\ITransport.cs">
<Link>ITransport.cs</Link>
</Compile>
<Compile Include="..\src\Link.cs">
<Link>Link.cs</Link>
</Compile>
<Compile Include="..\src\LinkedList.cs">
<Link>LinkedList.cs</Link>
</Compile>
<Compile Include="..\src\Message.cs">
<Link>Message.cs</Link>
</Compile>
<Compile Include="..\src\Properties\AssemblyInfo.cs">
<Link>Properties\AssemblyInfo.cs</Link>
</Compile>
<Compile Include="..\src\Properties\Version.cs">
<Link>Properties\Version.cs</Link>
</Compile>
<Compile Include="..\src\ReceiverLink.cs">
<Link>ReceiverLink.cs</Link>
</Compile>
<Compile Include="..\src\Sasl\SaslChallenge.cs">
<Link>Sasl\SaslChallenge.cs</Link>
</Compile>
<Compile Include="..\src\Sasl\SaslCode.cs">
<Link>Sasl\SaslCode.cs</Link>
</Compile>
<Compile Include="..\src\Sasl\SaslExternalProfile.cs">
<Link>Sasl\SaslExternalProfile.cs</Link>
</Compile>
<Compile Include="..\src\Sasl\SaslInit.cs">
<Link>Sasl\SaslInit.cs</Link>
</Compile>
<Compile Include="..\src\Sasl\SaslMechanisms.cs">
<Link>Sasl\SaslMechanisms.cs</Link>
</Compile>
<Compile Include="..\src\Sasl\SaslOutcome.cs">
<Link>Sasl\SaslOutcome.cs</Link>
</Compile>
<Compile Include="..\src\Sasl\SaslPlainProfile.cs">
<Link>Sasl\SaslPlainProfile.cs</Link>
</Compile>
<Compile Include="..\src\Sasl\SaslProfile.cs">
<Link>Sasl\SaslProfile.cs</Link>
</Compile>
<Compile Include="..\src\Sasl\SaslResponse.cs">
<Link>Sasl\SaslResponse.cs</Link>
</Compile>
<Compile Include="..\src\SenderLink.cs">
<Link>SenderLink.cs</Link>
</Compile>
<Compile Include="..\src\SequenceNumber.cs">
<Link>SequenceNumber.cs</Link>
</Compile>
<Compile Include="..\src\Session.cs">
<Link>Session.cs</Link>
</Compile>
<Compile Include="..\src\Trace.cs">
<Link>Trace.cs</Link>
</Compile>
<Compile Include="..\src\Types\Decimal.cs">
<Link>Types\Decimal.cs</Link>
</Compile>
<Compile Include="..\src\Types\Described.cs">
<Link>Types\Described.cs</Link>
</Compile>
<Compile Include="..\src\Types\DescribedList.cs">
<Link>Types\DescribedList.cs</Link>
</Compile>
<Compile Include="..\src\Types\DescribedMap.cs">
<Link>Types\DescribedMap.cs</Link>
</Compile>
<Compile Include="..\src\Types\DescribedValue.cs">
<Link>Types\DescribedValue.cs</Link>
</Compile>
<Compile Include="..\src\Types\Descriptor.cs">
<Link>Types\Descriptor.cs</Link>
</Compile>
<Compile Include="..\src\Types\Encoder.cs">
<Link>Types\Encoder.cs</Link>
</Compile>
<Compile Include="..\src\Types\ErrorCode.cs">
<Link>Types\ErrorCode.cs</Link>
</Compile>
<Compile Include="..\src\Types\Fields.cs">
<Link>Types\Fields.cs</Link>
</Compile>
<Compile Include="..\src\Types\FixedWidth.cs">
<Link>Types\FixedWidth.cs</Link>
</Compile>
<Compile Include="..\src\Types\FormatCode.cs">
<Link>Types\FormatCode.cs</Link>
</Compile>
<Compile Include="..\src\Types\Map.cs">
<Link>Types\Map.cs</Link>
</Compile>
<Compile Include="..\src\Types\RestrictedDescribed.cs">
<Link>Types\RestrictedDescribed.cs</Link>
</Compile>
<Compile Include="..\src\Types\Symbol.cs">
<Link>Types\Symbol.cs</Link>
</Compile>
<Compile Include="..\netmf\NetMF\Fx.cs">
<Link>nF\Fx.cs</Link>
</Compile>
<Compile Include="..\netmf\NetMF\List.cs">
<Link>nF\List.cs</Link>
</Compile>
<Compile Include="..\netmf\NetMF\Map.cs">
<Link>nF\Map.cs</Link>
</Compile>
<Compile Include="..\netmf\NetMF\TcpTransport.cs">
<Link>nF\TcpTransport.cs</Link>
</Compile>
<Compile Include="..\netmf\NetMF\TimeoutException.cs">
<Link>nF\TimeoutException.cs</Link>
</Compile>
<Compile Include="..\netmf\NetMF\SRAmqp.cs">
<Link>nF\SRAmqp.cs</Link>
</Compile>
<Compile Include="nf\SRAmqp.Designer.cs">
<DependentUpon>..\netmf\NetMF\SRAmqp.cs</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="..\src\SRAmqp.resx">
<Link>SRAmqp.resx</Link>
<Generator>NFResXFileCodeGenerator</Generator>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<Reference Include="mscorlib, Version=1.0.4.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.CoreLibrary.1.0.4\lib\mscorlib.dll</HintPath>
<Private>True</Private>
<SpecificVersion>True</SpecificVersion>
</Reference>
<Reference Include="nanoFramework.Runtime.Events, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.Runtime.Events.1.0.0\lib\nanoFramework.Runtime.Events.dll</HintPath>
<Private>True</Private>
<SpecificVersion>True</SpecificVersion>
</Reference>
<Reference Include="nanoFramework.Runtime.Native, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.Runtime.Native.1.0.0\lib\nanoFramework.Runtime.Native.dll</HintPath>
<Private>True</Private>
<SpecificVersion>True</SpecificVersion>
</Reference>
<Reference Include="System.Net, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.System.Net.1.0.0\lib\System.Net.dll</HintPath>
<Private>True</Private>
<SpecificVersion>True</SpecificVersion>
</Reference>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets')" />
<ProjectExtensions>
<ProjectCapabilities>
<ProjectConfigurationsDeclaredAsItems />
</ProjectCapabilities>
</ProjectExtensions>
</Project>

Просмотреть файл

@ -0,0 +1,33 @@
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("CSharp.BlankApplication")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("CSharp.BlankApplication")]
[assembly: AssemblyCopyright("Copyright © ")]
[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)]
// 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")]

Просмотреть файл

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<NanoFrameworkProjectSystemPath>$(MSBuildToolsPath)..\..\..\nanoFramework\v1.0\</NanoFrameworkProjectSystemPath>
</PropertyGroup>
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.Default.props" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.Default.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectTypeGuids>{11A8DD76-328B-46DF-9F39-F559912D0360};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<ProjectGuid>{3E5028BE-B7FA-4D5D-A931-132032FD1171}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<FileAlignment>512</FileAlignment>
<RootNamespace>Test.Amqp</RootNamespace>
<AssemblyName>Test.Amqp.nanoFramework</AssemblyName>
<TargetFrameworkVersion>v1.0</TargetFrameworkVersion>
<DefineConstants>$(DefineConstants);NETMF</DefineConstants>
</PropertyGroup>
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.props" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.props')" />
<ItemGroup>
<Compile Include="..\netmf\Test\Program.cs" Link="Test\Program.cs" />
<Compile Include="..\test\Common\Assert.cs" Link="Assert.cs" />
<Compile Include="..\test\Common\LinkTests.cs" Link="LinkTests.cs" />
<Compile Include="..\test\Common\TestRunner.cs" Link="TestRunner.cs" />
<Compile Include="..\test\Common\TestTarget.cs" Link="TestTarget.cs" />
<Compile Include="..\test\Common\UtilityTests.cs" Link="UtilityTests.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="Amqp.nanoFramework.nfproj" />
</ItemGroup>
<ItemGroup>
<Reference Include="mscorlib, Version=1.0.4.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.CoreLibrary.1.0.4\lib\mscorlib.dll</HintPath>
<Private>True</Private>
<SpecificVersion>True</SpecificVersion>
</Reference>
<Reference Include="nanoFramework.Runtime.Events, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.Runtime.Events.1.0.0\lib\nanoFramework.Runtime.Events.dll</HintPath>
<Private>True</Private>
<SpecificVersion>True</SpecificVersion>
</Reference>
<Reference Include="nanoFramework.Runtime.Native, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.Runtime.Native.1.0.0\lib\nanoFramework.Runtime.Native.dll</HintPath>
<Private>True</Private>
<SpecificVersion>True</SpecificVersion>
</Reference>
<Reference Include="System.Net, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.System.Net.1.0.0\lib\System.Net.dll</HintPath>
<Private>True</Private>
<SpecificVersion>True</SpecificVersion>
</Reference>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<Folder Include="Test\" />
</ItemGroup>
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets')" />
<ProjectExtensions>
<ProjectCapabilities>
<ProjectConfigurationsDeclaredAsItems />
</ProjectCapabilities>
</ProjectExtensions>
</Project>

59
nanoFramework/nF/SRAmqp.Designer.cs сгенерированный Normal file
Просмотреть файл

@ -0,0 +1,59 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Amqp
{
internal partial class SRAmqp
{
private static System.Resources.ResourceManager manager;
internal static System.Resources.ResourceManager ResourceManager
{
get
{
if ((SRAmqp.manager == null))
{
SRAmqp.manager = new System.Resources.ResourceManager("Amqp.SRAmqp", typeof(SRAmqp).Assembly);
}
return SRAmqp.manager;
}
}
internal static string GetString(SRAmqp.StringResources id)
{
return ((string)(nanoFramework.Runtime.Native.ResourceUtility.GetObject(ResourceManager, id)));
}
[System.SerializableAttribute()]
internal enum StringResources : short
{
AmqpProtocolMismatch = -30934,
AmqpHandleExceeded = -30720,
InvalidMapKeyType = -27839,
LinkNotFound = -26757,
AmqpUnknownDescriptor = -23641,
SaslNegoFailed = -23066,
AmqpTimeout = -21233,
InvalidAddressFormat = -11168,
InvalidDeliveryIdOnTransfer = -9930,
AmqpOperationNotSupported = -8658,
AmqpHandleNotFound = -8192,
InvalidFrameSize = -6751,
InvalidSequenceNumberComparison = 89,
AmqpInvalidFormatCode = 3446,
DeliveryLimitExceeded = 3476,
TransportClosed = 6975,
EncodingTypeNotSupported = 9570,
AmqpHandleInUse = 10028,
AmqpChannelNotFound = 18049,
AmqpIllegalOperationState = 21850,
InvalidMapCount = 22186,
WindowViolation = 26611,
}
}
}

Просмотреть файл

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="nanoFramework.CoreLibrary" version="1.0.4" targetFramework="netnanoframework10" />
<package id="nanoFramework.Runtime.Events" version="1.0.0" targetFramework="netnanoframework10" />
<package id="nanoFramework.Runtime.Native" version="1.0.0" targetFramework="netnanoframework10" />
<package id="nanoFramework.System.Net" version="1.0.0" targetFramework="netnanoframework10" />
</packages>

Просмотреть файл

@ -21,7 +21,7 @@
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\bin\$(Configuration)\$(MSBuildProjectName)$(FrameworkVersionMajor)$(FrameworkVersionMinor)\</OutputPath>
<DefineConstants>TRACE;DEBUG;NETMF;NETMF_LITE</DefineConstants>
<DefineConstants>TRACE;DEBUG;NETMF;NETMF_LITE,MF_FRAMEWORK_VERSION_V4_4</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
@ -30,7 +30,7 @@
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\bin\$(Configuration)\$(MSBuildProjectName)$(FrameworkVersionMajor)$(FrameworkVersionMinor)\</OutputPath>
<DefineConstants>NETMF;NETMF_LITE</DefineConstants>
<DefineConstants>NETMF;NETMF_LITE,MF_FRAMEWORK_VERSION_V4_4</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>

Просмотреть файл

@ -21,7 +21,11 @@ namespace Amqp
using System.Diagnostics;
using System.Text;
using System.Threading;
#if (MF_FRAMEWORK_VERSION_V4_2 || MF_FRAMEWORK_VERSION_V4_3 || MF_FRAMEWORK_VERSION_V4_4)
using Microsoft.SPOT;
#elif (NANOFRAMEWORK_V1_0)
using nanoFramework.Runtime.Native;
#endif
/// <summary>
/// Provides framework specific routines.

Просмотреть файл

@ -17,7 +17,11 @@
namespace Amqp
{
#if (MF_FRAMEWORK_VERSION_V4_2 || MF_FRAMEWORK_VERSION_V4_3 || MF_FRAMEWORK_VERSION_V4_4)
using Microsoft.SPOT.Net.Security;
#elif (NANOFRAMEWORK_V1_0)
using System.Net.Security;
#endif
using System;
using System.Net;
using System.Net.Sockets;

Просмотреть файл

@ -23,7 +23,11 @@ namespace Amqp
using System.Text;
using System.Threading;
using Amqp.Types;
#if (MF_FRAMEWORK_VERSION_V4_2 || MF_FRAMEWORK_VERSION_V4_3 || MF_FRAMEWORK_VERSION_V4_4)
using Microsoft.SPOT.Net.Security;
#elif (NANOFRAMEWORK_V1_0)
using System.Net.Security;
#endif
/// <summary>
/// The event handler that is invoked when an AMQP object is closed unexpectedly.
@ -769,7 +773,13 @@ namespace Amqp
if (useSsl)
{
SslStream sslStream = new SslStream(socket);
sslStream.AuthenticateAsClient(host, null, SslVerification.VerifyPeer, SslProtocols.Default);
#if (MF_FRAMEWORK_VERSION_V4_2 || MF_FRAMEWORK_VERSION_V4_3 || MF_FRAMEWORK_VERSION_V4_4)
sslStream.AuthenticateAsClient(host, null, SslVerification.VerifyPeer, SslProtocols.TLSv1);
#elif (NANOFRAMEWORK_V1_0)
sslStream.AuthenticateAsClient(host, null, SslVerification.VerifyPeer, SslProtocols.TLSv11);
#endif
stream = sslStream;
}
else

Просмотреть файл

@ -19,7 +19,11 @@ namespace Amqp
{
using System;
using System.Diagnostics;
#if (MF_FRAMEWORK_VERSION_V4_2 || MF_FRAMEWORK_VERSION_V4_3 || MF_FRAMEWORK_VERSION_V4_4)
using Microsoft.SPOT;
#elif (NANOFRAMEWORK_V1_0)
using nanoFramework.Runtime.Native;
#endif
static class Fx
{
@ -92,7 +96,13 @@ namespace Amqp
}
sb.Append(')');
#if (MF_FRAMEWORK_VERSION_V4_2 || MF_FRAMEWORK_VERSION_V4_3 || MF_FRAMEWORK_VERSION_V4_4)
Microsoft.SPOT.Debug.Print(sb.ToString());
#elif (NANOFRAMEWORK_V1_0)
Console.WriteLine(sb.ToString());
#endif
#endif
}
}

Просмотреть файл

@ -15,8 +15,10 @@
// limitations under the License.
// ------------------------------------------------------------------------------------
using Amqp;
#if NETMF
#if NETMF && !NANOFRAMEWORK_V1_0
using Microsoft.SPOT;
#elif NANOFRAMEWORK_V1_0
using System;
#endif
#if COMPACT_FRAMEWORK
using System.Diagnostics;
@ -39,8 +41,10 @@ namespace Test.Amqp
static void WriteTrace(TraceLevel level, string format, params object[] args)
{
string message = args == null ? format : Fx.Format(format, args);
#if NETMF
#if NETMF && !NANOFRAMEWORK_V1_0
Debug.Print(message);
#elif NANOFRAMEWORK_V1_0
Console.WriteLine(message);
#elif COMPACT_FRAMEWORK
Debug.WriteLine(message);
#endif

Просмотреть файл

@ -0,0 +1,31 @@
<?xml version="1.0"?>
<package >
<metadata>
<id>AMQPNetLite.nanoFramework</id>
<title>AMQP.Net Lite for nanoFramework</title>
<version>0.0.0</version>
<authors>xinchen</authors>
<licenseUrl>https://github.com/Azure/amqpnetlite/blob/master/license.txt</licenseUrl>
<projectUrl>https://github.com/Azure/amqpnetlite</projectUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<summary>AMQP 1.0 library for .Net nanoFramework</summary>
<description>
This is a lightweight AMQP 1.0 library for .Net nanoFramework. A more compact version
is available in the AMQPNetMicro.nanoFramework package.
</description>
<releaseNotes>[PLACEHOLDER]</releaseNotes>
<copyright>Copyright 2014</copyright>
<tags>AMQP net netmf nf nanoframework</tags>
<dependencies>
<group targetFramework="netnanoframework10">
<dependency id="nanoFramework.CoreLibrary" version="1.0.0-preview073" />
<dependency id="nanoFramework.Runtime.Events" version="1.0.0-preview188" />
<dependency id="nanoFramework.Runtime.Native" version="1.0.0-preview194" />
<dependency id="nanoFramework.System.Net" version="1.0.0-preview047" />
</group>
</dependencies>
</metadata>
<files>
<file src="bin\Release\Amqp.nanoFramework\Amqp.nanoFramework.*" target="lib" />
</files>
</package>

Просмотреть файл

@ -0,0 +1,28 @@
<?xml version="1.0"?>
<package >
<metadata>
<id>AMQPNetMicro.nanoFramework</id>
<title>A compact version of AMQP.Net Lite for nanoFramework</title>
<version>0.0.0</version>
<authors>xinchen</authors>
<owners>Microsoft</owners>
<licenseUrl>https://github.com/Azure/amqpnetlite/blob/master/license.txt</licenseUrl>
<projectUrl>https://github.com/Azure/amqpnetlite</projectUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>This is a compact version of AMQP.Net Lite for .Net nanoFramework on memory/space constrained devices.</description>
<releaseNotes>[PLACEHOLDER]</releaseNotes>
<copyright>Copyright 2014</copyright>
<tags>AMQP netmf nf nanoframework</tags>
<dependencies>
<group targetFramework="netnanoframework10">
<dependency id="nanoFramework.CoreLibrary" version="1.0.0-preview073" />
<dependency id="nanoFramework.Runtime.Events" version="1.0.0-preview188" />
<dependency id="nanoFramework.Runtime.Native" version="1.0.0-preview194" />
<dependency id="nanoFramework.System.Net" version="1.0.0-preview047" />
</group>
</dependencies>
</metadata>
<files>
<file src="bin\Release\Amqp.Micro.nanoFramework\Amqp.Micro.nanoFramework.*" target="lib" />
</files>
</package>

Просмотреть файл

@ -363,7 +363,11 @@ namespace Amqp.Types
/// <returns></returns>
public static long DateTimeToTimestamp(DateTime dateTime)
{
#if (NANOFRAMEWORK_V1_0)
return (long)((dateTime.Ticks - epochTicks) / TicksPerMillisecond);
#else
return (long)((dateTime.ToUniversalTime().Ticks - epochTicks) / TicksPerMillisecond);
#endif
}
/// <summary>

Просмотреть файл

@ -1,6 +1,6 @@
using System;
using System.Threading;
#if NETMF
#if NETMF && !NANOFRAMEWORK_V1_0
using Microsoft.SPOT;
#endif