Merge pull request #321 from nanoframework/updates-nf

Updates for nanoFramework
This commit is contained in:
Xin Chen 2018-12-18 11:58:08 -08:00 коммит произвёл GitHub
Родитель f627f72d8d d40add60f4
Коммит 955280e06e
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
20 изменённых файлов: 419 добавлений и 75 удалений

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

@ -18,6 +18,7 @@
</PropertyGroup> </PropertyGroup>
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.props" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.props')" /> <Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.props" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.props')" />
<ItemGroup> <ItemGroup>
<Compile Include="NetworkHelpers.cs" />
<Compile Include="Program.cs" /> <Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup> </ItemGroup>
@ -25,8 +26,16 @@
<ProjectReference Include="..\..\..\nanoFramework\Amqp.Micro.nanoFramework.nfproj" /> <ProjectReference Include="..\..\..\nanoFramework\Amqp.Micro.nanoFramework.nfproj" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Reference Include="mscorlib, Version=1.0.6.21, Culture=neutral, PublicKeyToken=c07d481e9758c731"> <Reference Include="mscorlib">
<HintPath>..\..\..\packages\nanoFramework.CoreLibrary.1.0.6-preview-021\lib\mscorlib.dll</HintPath> <HintPath>..\..\..\packages\nanoFramework.CoreLibrary.1.1.0\lib\mscorlib.dll</HintPath>
</Reference>
<Reference Include="nanoFramework.Runtime.Events, Version=1.0.2.2, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\..\..\packages\nanoFramework.Runtime.Events.1.0.2\lib\nanoFramework.Runtime.Events.dll</HintPath>
<Private>True</Private>
<SpecificVersion>True</SpecificVersion>
</Reference>
<Reference Include="System.Net, Version=1.0.2.2, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\..\..\packages\nanoFramework.System.Net.1.0.2\lib\System.Net.dll</HintPath>
<Private>True</Private> <Private>True</Private>
<SpecificVersion>True</SpecificVersion> <SpecificVersion>True</SpecificVersion>
</Reference> </Reference>

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

@ -0,0 +1,138 @@
// ------------------------------------------------------------------------------------
// 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 nanoFramework.Runtime.Events;
using System;
using System.Net.NetworkInformation;
using System.Threading;
namespace nanoFramework.Networking
{
public class NetworkHelpers
{
// this is required if the device is connecting through Wi-Fi (typically ESP32 devices)
private const string c_SSID = "myssid";
private const string c_AP_PASSWORD = "mypassword";
private static bool _requiresDateTime;
/// <summary>
/// Event signalling that the target has a valid IP address.
/// </summary>
static public ManualResetEvent IpAddressAvailable = new ManualResetEvent(false);
/// <summary>
/// Event signalling that the target has valid <see cref="DateTime"/>.
/// </summary>
static public ManualResetEvent DateTimeAvailable = new ManualResetEvent(false);
public static void SetupAndConnectNetwork(bool requiresDateTime = false)
{
NetworkChange.NetworkAddressChanged += new NetworkAddressChangedEventHandler(AddressChangedCallback);
_requiresDateTime = requiresDateTime;
new Thread(WorkingThread).Start();
}
internal static void WorkingThread()
{
NetworkInterface[] nis = NetworkInterface.GetAllNetworkInterfaces();
if (nis.Length > 0)
{
// get the first interface
NetworkInterface ni = nis[0];
if (ni.NetworkInterfaceType == NetworkInterfaceType.Wireless80211)
{
// network interface is Wi-Fi
Console.WriteLine("Network connection is: Wi-Fi");
Wireless80211Configuration wc = Wireless80211Configuration.GetAllWireless80211Configurations()[ni.SpecificConfigId];
if (wc.Ssid != c_SSID && wc.Password != c_AP_PASSWORD)
{
// have to update Wi-Fi configuration
wc.Ssid = c_SSID;
wc.Password = c_AP_PASSWORD;
wc.SaveConfiguration();
}
else
{ // Wi-Fi configuration matches
}
}
else
{
// network interface is Ethernet
Console.WriteLine("Network connection is: Ethernet");
ni.EnableAutomaticDns();
ni.EnableDhcp();
}
// check if we have an IP
CheckIP();
if (_requiresDateTime)
{
IpAddressAvailable.WaitOne();
SetDateTime();
}
}
else
{
throw new NotSupportedException("ERROR: there is no network interface configured.\r\nOpen the 'Edit Network Configuration' in Device Explorer and configure one.");
}
}
private static void SetDateTime()
{
Console.WriteLine("Setting up system clock...");
// if SNTP is available and enabled on target device this can be skipped because we should have a valid date & time
while (DateTime.UtcNow.Year < 2018)
{
Console.WriteLine("Waiting for valid date time...");
// wait for valid date & time
Thread.Sleep(1000);
}
DateTimeAvailable.Set();
}
private static void CheckIP()
{
Console.WriteLine("Checking for IP");
NetworkInterface ni = NetworkInterface.GetAllNetworkInterfaces()[0];
if (ni.IPv4Address != null && ni.IPv4Address.Length > 0)
{
if (ni.IPv4Address[0] != '0')
{
Console.WriteLine($"We have an IP: {ni.IPv4Address}");
IpAddressAvailable.Set();
}
}
}
static void AddressChangedCallback(object sender, EventArgs e)
{
CheckIP();
}
}
}

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

@ -19,7 +19,7 @@ using System;
using System.Threading; using System.Threading;
using Amqp; using Amqp;
using Amqp.Types; using Amqp.Types;
using nanoFramework.Networking;
namespace Device.SmallMemory namespace Device.SmallMemory
{ {
@ -42,6 +42,13 @@ namespace Device.SmallMemory
public static void Main() public static void Main()
{ {
// setup and connect network
NetworkHelpers.SetupAndConnectNetwork(true);
// wait for network and valid system date time
NetworkHelpers.IpAddressAvailable.WaitOne();
NetworkHelpers.DateTimeAvailable.WaitOne();
Send(); Send();
} }

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

@ -1,4 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="nanoFramework.CoreLibrary" version="1.0.6-preview-021" targetFramework="netnanoframework10" /> <package id="nanoFramework.CoreLibrary" version="1.1.0" targetFramework="netnanoframework10" />
<package id="nanoFramework.Runtime.Events" version="1.0.2" targetFramework="netnanoframework10" />
<package id="nanoFramework.System.Net" version="1.0.2" targetFramework="netnanoframework10" />
</packages> </packages>

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

@ -18,6 +18,7 @@
</PropertyGroup> </PropertyGroup>
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.props" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.props')" /> <Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.props" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.props')" />
<ItemGroup> <ItemGroup>
<Compile Include="..\Device.SmallMemory.nanoFramework\NetworkHelpers.cs" Link="NetworkHelpers.cs" />
<Compile Include="Program.cs" /> <Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup> </ItemGroup>
@ -25,18 +26,21 @@
<ProjectReference Include="..\..\..\nanoFramework\Amqp.nanoFramework.nfproj" /> <ProjectReference Include="..\..\..\nanoFramework\Amqp.nanoFramework.nfproj" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Reference Include="mscorlib, Version=1.0.6.21, Culture=neutral, PublicKeyToken=c07d481e9758c731"> <Reference Include="mscorlib">
<HintPath>..\..\..\packages\nanoFramework.CoreLibrary.1.0.6-preview-021\lib\mscorlib.dll</HintPath> <HintPath>..\..\..\packages\nanoFramework.CoreLibrary.1.1.0\lib\mscorlib.dll</HintPath>
</Reference>
<Reference Include="nanoFramework.Runtime.Events, Version=1.0.2.2, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\..\..\packages\nanoFramework.Runtime.Events.1.0.2\lib\nanoFramework.Runtime.Events.dll</HintPath>
<Private>True</Private> <Private>True</Private>
<SpecificVersion>True</SpecificVersion> <SpecificVersion>True</SpecificVersion>
</Reference> </Reference>
<Reference Include="nanoFramework.Runtime.Events, Version=1.0.2.23, Culture=neutral, PublicKeyToken=c07d481e9758c731"> <Reference Include="System.Net, Version=1.0.2.2, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\..\..\packages\nanoFramework.Runtime.Events.1.0.2-preview-023\lib\nanoFramework.Runtime.Events.dll</HintPath> <HintPath>..\..\..\packages\nanoFramework.System.Net.1.0.2\lib\System.Net.dll</HintPath>
<Private>True</Private> <Private>True</Private>
<SpecificVersion>True</SpecificVersion> <SpecificVersion>True</SpecificVersion>
</Reference> </Reference>
<Reference Include="Windows.Devices.Gpio, Version=1.0.2.25, Culture=neutral, PublicKeyToken=c07d481e9758c731"> <Reference Include="Windows.Devices.Gpio, Version=1.0.2.2, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\..\..\packages\nanoFramework.Windows.Devices.Gpio.1.0.2-preview-025\lib\Windows.Devices.Gpio.dll</HintPath> <HintPath>..\..\..\packages\nanoFramework.Windows.Devices.Gpio.1.0.2\lib\Windows.Devices.Gpio.dll</HintPath>
<Private>True</Private> <Private>True</Private>
<SpecificVersion>True</SpecificVersion> <SpecificVersion>True</SpecificVersion>
</Reference> </Reference>

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

@ -18,6 +18,7 @@
using System; using System;
using System.Threading; using System.Threading;
using Amqp; using Amqp;
using nanoFramework.Networking;
using Windows.Devices.Gpio; using Windows.Devices.Gpio;
using AmqpTrace = Amqp.Trace; using AmqpTrace = Amqp.Trace;
@ -45,6 +46,9 @@ namespace Device.Thermometer
public static void Main() public static void Main()
{ {
// setup and connect network
NetworkHelpers.SetupAndConnectNetwork(true);
// setup user button // setup user button
// F769I-DISCO -> USER_BUTTON is @ PA0 -> (0 * 16) + 0 = 0 // F769I-DISCO -> USER_BUTTON is @ PA0 -> (0 * 16) + 0 = 0
_userButton = GpioController.GetDefault().OpenPin(0); _userButton = GpioController.GetDefault().OpenPin(0);
@ -58,6 +62,10 @@ namespace Device.Thermometer
temperature = 68; temperature = 68;
changed = new AutoResetEvent(true); changed = new AutoResetEvent(true);
// wait for network and valid system date time
NetworkHelpers.IpAddressAvailable.WaitOne();
NetworkHelpers.DateTimeAvailable.WaitOne();
new Thread(Listen).Start(); new Thread(Listen).Start();
Thread.Sleep(Timeout.Infinite); Thread.Sleep(Timeout.Infinite);

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

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="nanoFramework.CoreLibrary" version="1.0.6-preview-021" targetFramework="netnanoframework10" /> <package id="nanoFramework.CoreLibrary" version="1.1.0" targetFramework="netnanoframework10" />
<package id="nanoFramework.Runtime.Events" version="1.0.2-preview-023" targetFramework="netnanoframework10" /> <package id="nanoFramework.Runtime.Events" version="1.0.2" targetFramework="netnanoframework10" />
<package id="nanoFramework.Windows.Devices.Gpio" version="1.0.2-preview-025" targetFramework="netnanoframework10" /> <package id="nanoFramework.System.Net" version="1.0.2" targetFramework="netnanoframework10" />
<package id="nanoFramework.Windows.Devices.Gpio" version="1.0.2" targetFramework="netnanoframework10" />
</packages> </packages>

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

@ -0,0 +1,51 @@
// ------------------------------------------------------------------------------------
// 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 Amqp;
using nanoFramework.Networking;
using ServiceBus.Scenarios;
using AmqpTrace = Amqp.Trace;
namespace ServiceBus.EventHub
{
public class Program
{
public static void Main()
{
// setup and connect network
NetworkHelpers.SetupAndConnectNetwork(true);
AmqpTrace.TraceLevel = TraceLevel.Information;
AmqpTrace.TraceListener = (l, f, a) => Console.WriteLine(Fx.Format(f, a));
Connection.DisableServerCertValidation = true;
// wait for network and valid system date time
NetworkHelpers.IpAddressAvailable.WaitOne();
NetworkHelpers.DateTimeAvailable.WaitOne();
try
{
new EventHubsExample().Run();
}
catch (Exception e)
{
AmqpTrace.WriteLine(TraceLevel.Error, e.ToString());
}
}
}
}

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

@ -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("ServiceBus.EventHub")]
[assembly: AssemblyDescription("AMQP Lite Servicebus EventHub example project for nanoFramework")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("ServiceBus.EventHub")]
[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,56 @@
<?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>87b9bb65-b55f-4639-8de9-6612c7675c22</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<FileAlignment>512</FileAlignment>
<RootNamespace>ServiceBus.EventHub.nanoFramework</RootNamespace>
<AssemblyName>ServiceBus.EventHub.nanoFramework</AssemblyName>
<TargetFrameworkVersion>v1.0</TargetFrameworkVersion>
</PropertyGroup>
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.props" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.props')" />
<ItemGroup>
<Compile Include="..\Examples\Device\Device.SmallMemory.nanoFramework\NetworkHelpers.cs" Link="NetworkHelpers.cs" />
<Compile Include="..\Examples\ServiceBus\Scenarios\EventHubsExample.cs" Link="EventHubsExample.cs" />
<Compile Include="..\Examples\ServiceBus\Scenarios\Example.cs" Link="Example.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\nanoFramework\Amqp.nanoFramework.nfproj" />
</ItemGroup>
<ItemGroup>
<Reference Include="mscorlib, Version=1.1.0.4, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.CoreLibrary.1.1.0\lib\mscorlib.dll</HintPath>
<Private>True</Private>
<SpecificVersion>True</SpecificVersion>
</Reference>
<Reference Include="nanoFramework.Runtime.Events, Version=1.0.2.2, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.Runtime.Events.1.0.2\lib\nanoFramework.Runtime.Events.dll</HintPath>
<Private>True</Private>
<SpecificVersion>True</SpecificVersion>
</Reference>
<Reference Include="System.Net, Version=1.0.2.2, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.System.Net.1.0.2\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,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="nanoFramework.CoreLibrary" version="1.1.0" targetFramework="netnanoframework10" />
<package id="nanoFramework.Runtime.Events" version="1.0.2" targetFramework="netnanoframework10" />
<package id="nanoFramework.System.Net" version="1.0.2" targetFramework="netnanoframework10" />
</packages>

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

@ -3,9 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15 # Visual Studio 15
VisualStudioVersion = 15.0.27703.2047 VisualStudioVersion = 15.0.27703.2047
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "Amqp.nanoFramework", "nanoFramework\Amqp.nanoFramework.nfproj", "{85CCCE74-74B0-426A-AE98-CC37E3C269C0}" Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "Amqp.nanoFramework", "nanoFramework\Amqp.nanoFramework.nfproj", "{FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}"
EndProject EndProject
Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "Amqp.Micro.nanoFramework", "nanoFramework\Amqp.Micro.nanoFramework.nfproj", "{3FEB1DBC-D7FA-4F64-9F22-260755DC5CFB}" Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "Amqp.Micro.nanoFramework", "nanoFramework\Amqp.Micro.nanoFramework.nfproj", "{F66A975C-A958-4D17-BCF3-AC28CE9D460B}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "examples", "examples", "{293DB0BF-B993-42B0-953E-200F01869A92}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "examples", "examples", "{293DB0BF-B993-42B0-953E-200F01869A92}"
EndProject EndProject
@ -13,7 +13,9 @@ Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "Device.Thermometer.nanoFram
EndProject EndProject
Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "Device.SmallMemory.nanoFramework", "Examples\Device\Device.SmallMemory.nanoFramework\Device.SmallMemory.nanoFramework.nfproj", "{058153C5-5319-43B3-A10B-C50521ED02EA}" Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "Device.SmallMemory.nanoFramework", "Examples\Device\Device.SmallMemory.nanoFramework\Device.SmallMemory.nanoFramework.nfproj", "{058153C5-5319-43B3-A10B-C50521ED02EA}"
EndProject EndProject
Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "Test.Amqp.nanoFramework", "nanoFramework\Test.Amqp.nanoFramework.nfproj", "{BB6F7AFC-95FA-4D1B-9D81-B5F9266EDFD2}" Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "Test.Amqp.nanoFramework", "nanoFramework\Test.Amqp.nanoFramework.nfproj", "{3E5028BE-B7FA-4D5D-A931-132032FD1171}"
EndProject
Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "ServiceBus.EventHub.nanoFramework", "Examples\ServiceBus\ServiceBus.EventHub.nanoFramework\ServiceBus.EventHub.nanoFramework.nfproj", "{87B9BB65-B55F-4639-8DE9-6612C7675C22}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -21,16 +23,16 @@ Global
Release|Any CPU = Release|Any CPU Release|Any CPU = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{85CCCE74-74B0-426A-AE98-CC37E3C269C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{85CCCE74-74B0-426A-AE98-CC37E3C269C0}.Debug|Any CPU.Build.0 = Debug|Any CPU {FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Debug|Any CPU.Build.0 = Debug|Any CPU
{85CCCE74-74B0-426A-AE98-CC37E3C269C0}.Release|Any CPU.ActiveCfg = Release|Any CPU {FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Release|Any CPU.ActiveCfg = Release|Any CPU
{85CCCE74-74B0-426A-AE98-CC37E3C269C0}.Release|Any CPU.Build.0 = Release|Any CPU {FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Release|Any CPU.Build.0 = Release|Any CPU
{85CCCE74-74B0-426A-AE98-CC37E3C269C0}.Release|Any CPU.Deploy.0 = Release|Any CPU {FD8A8669-2183-4D5C-87B7-1CAB4CD26E90}.Release|Any CPU.Deploy.0 = Release|Any CPU
{3FEB1DBC-D7FA-4F64-9F22-260755DC5CFB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3FEB1DBC-D7FA-4F64-9F22-260755DC5CFB}.Debug|Any CPU.Build.0 = Debug|Any CPU {F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3FEB1DBC-D7FA-4F64-9F22-260755DC5CFB}.Release|Any CPU.ActiveCfg = Release|Any CPU {F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3FEB1DBC-D7FA-4F64-9F22-260755DC5CFB}.Release|Any CPU.Build.0 = Release|Any CPU {F66A975C-A958-4D17-BCF3-AC28CE9D460B}.Release|Any CPU.Build.0 = Release|Any CPU
{3FEB1DBC-D7FA-4F64-9F22-260755DC5CFB}.Release|Any CPU.Deploy.0 = Release|Any CPU {F66A975C-A958-4D17-BCF3-AC28CE9D460B}.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.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.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.ActiveCfg = Release|Any CPU
@ -38,16 +40,20 @@ Global
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4}.Release|Any CPU.Deploy.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.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.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.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.Build.0 = Release|Any CPU
{058153C5-5319-43B3-A10B-C50521ED02EA}.Release|Any CPU.Deploy.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 {3E5028BE-B7FA-4D5D-A931-132032FD1171}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BB6F7AFC-95FA-4D1B-9D81-B5F9266EDFD2}.Debug|Any CPU.Build.0 = Debug|Any CPU {3E5028BE-B7FA-4D5D-A931-132032FD1171}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BB6F7AFC-95FA-4D1B-9D81-B5F9266EDFD2}.Debug|Any CPU.Deploy.0 = Debug|Any CPU {3E5028BE-B7FA-4D5D-A931-132032FD1171}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BB6F7AFC-95FA-4D1B-9D81-B5F9266EDFD2}.Release|Any CPU.ActiveCfg = Release|Any CPU {3E5028BE-B7FA-4D5D-A931-132032FD1171}.Release|Any CPU.Build.0 = Release|Any CPU
{BB6F7AFC-95FA-4D1B-9D81-B5F9266EDFD2}.Release|Any CPU.Build.0 = Release|Any CPU {3E5028BE-B7FA-4D5D-A931-132032FD1171}.Release|Any CPU.Deploy.0 = Release|Any CPU
{BB6F7AFC-95FA-4D1B-9D81-B5F9266EDFD2}.Release|Any CPU.Deploy.0 = Release|Any CPU {87B9BB65-B55F-4639-8DE9-6612C7675C22}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{87B9BB65-B55F-4639-8DE9-6612C7675C22}.Debug|Any CPU.Build.0 = Debug|Any CPU
{87B9BB65-B55F-4639-8DE9-6612C7675C22}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{87B9BB65-B55F-4639-8DE9-6612C7675C22}.Release|Any CPU.ActiveCfg = Release|Any CPU
{87B9BB65-B55F-4639-8DE9-6612C7675C22}.Release|Any CPU.Build.0 = Release|Any CPU
{87B9BB65-B55F-4639-8DE9-6612C7675C22}.Release|Any CPU.Deploy.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@ -55,6 +61,7 @@ Global
GlobalSection(NestedProjects) = preSolution GlobalSection(NestedProjects) = preSolution
{AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4} = {293DB0BF-B993-42B0-953E-200F01869A92} {AA510BD3-3AA7-4D0C-8B2E-FD03FEE288F4} = {293DB0BF-B993-42B0-953E-200F01869A92}
{058153C5-5319-43B3-A10B-C50521ED02EA} = {293DB0BF-B993-42B0-953E-200F01869A92} {058153C5-5319-43B3-A10B-C50521ED02EA} = {293DB0BF-B993-42B0-953E-200F01869A92}
{87B9BB65-B55F-4639-8DE9-6612C7675C22} = {293DB0BF-B993-42B0-953E-200F01869A92}
EndGlobalSection EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {BD6F2812-CD19-4447-B98C-4961F6F0BDC8} SolutionGuid = {BD6F2812-CD19-4447-B98C-4961F6F0BDC8}

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

@ -104,28 +104,28 @@
</Compile> </Compile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Reference Include="mscorlib, Version=1.0.6.21, Culture=neutral, PublicKeyToken=c07d481e9758c731"> <Reference Include="mscorlib, Version=1.1.0.4, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.CoreLibrary.1.0.6-preview-021\lib\mscorlib.dll</HintPath> <HintPath>..\packages\nanoFramework.CoreLibrary.1.1.0\lib\mscorlib.dll</HintPath>
<Private>True</Private> <Private>True</Private>
<SpecificVersion>True</SpecificVersion> <SpecificVersion>True</SpecificVersion>
</Reference> </Reference>
<Reference Include="nanoFramework.Runtime.Events, Version=1.0.2.23, Culture=neutral, PublicKeyToken=c07d481e9758c731"> <Reference Include="nanoFramework.Runtime.Events, Version=1.0.2.2, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.Runtime.Events.1.0.2-preview-023\lib\nanoFramework.Runtime.Events.dll</HintPath> <HintPath>..\packages\nanoFramework.Runtime.Events.1.0.2\lib\nanoFramework.Runtime.Events.dll</HintPath>
<Private>True</Private> <Private>True</Private>
<SpecificVersion>True</SpecificVersion> <SpecificVersion>True</SpecificVersion>
</Reference> </Reference>
<Reference Include="nanoFramework.Runtime.Native, Version=1.0.2.16, Culture=neutral, PublicKeyToken=c07d481e9758c731"> <Reference Include="nanoFramework.Runtime.Native, Version=1.0.2.2, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.Runtime.Native.1.0.2-preview-016\lib\nanoFramework.Runtime.Native.dll</HintPath> <HintPath>..\packages\nanoFramework.Runtime.Native.1.0.2\lib\nanoFramework.Runtime.Native.dll</HintPath>
<Private>True</Private> <Private>True</Private>
<SpecificVersion>True</SpecificVersion> <SpecificVersion>True</SpecificVersion>
</Reference> </Reference>
<Reference Include="System.Math, Version=1.0.2.15, Culture=neutral, PublicKeyToken=c07d481e9758c731"> <Reference Include="System.Math, Version=1.0.2.2, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.System.Math.1.0.2-preview-015\lib\System.Math.dll</HintPath> <HintPath>..\packages\nanoFramework.System.Math.1.0.2\lib\System.Math.dll</HintPath>
<Private>True</Private> <Private>True</Private>
<SpecificVersion>True</SpecificVersion> <SpecificVersion>True</SpecificVersion>
</Reference> </Reference>
<Reference Include="System.Net, Version=1.0.2.23, Culture=neutral, PublicKeyToken=c07d481e9758c731"> <Reference Include="System.Net, Version=1.0.2.2, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.System.Net.1.0.2-preview-023\lib\System.Net.dll</HintPath> <HintPath>..\packages\nanoFramework.System.Net.1.0.2\lib\System.Net.dll</HintPath>
<Private>True</Private> <Private>True</Private>
<SpecificVersion>True</SpecificVersion> <SpecificVersion>True</SpecificVersion>
</Reference> </Reference>

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

@ -293,28 +293,28 @@
</EmbeddedResource> </EmbeddedResource>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Reference Include="mscorlib, Version=1.0.6.21, Culture=neutral, PublicKeyToken=c07d481e9758c731"> <Reference Include="mscorlib, Version=1.1.0.4, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.CoreLibrary.1.0.6-preview-021\lib\mscorlib.dll</HintPath> <HintPath>..\packages\nanoFramework.CoreLibrary.1.1.0\lib\mscorlib.dll</HintPath>
<Private>True</Private> <Private>True</Private>
<SpecificVersion>True</SpecificVersion> <SpecificVersion>True</SpecificVersion>
</Reference> </Reference>
<Reference Include="nanoFramework.Runtime.Events, Version=1.0.2.23, Culture=neutral, PublicKeyToken=c07d481e9758c731"> <Reference Include="nanoFramework.Runtime.Events, Version=1.0.2.2, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.Runtime.Events.1.0.2-preview-023\lib\nanoFramework.Runtime.Events.dll</HintPath> <HintPath>..\packages\nanoFramework.Runtime.Events.1.0.2\lib\nanoFramework.Runtime.Events.dll</HintPath>
<Private>True</Private> <Private>True</Private>
<SpecificVersion>True</SpecificVersion> <SpecificVersion>True</SpecificVersion>
</Reference> </Reference>
<Reference Include="nanoFramework.Runtime.Native, Version=1.0.2.16, Culture=neutral, PublicKeyToken=c07d481e9758c731"> <Reference Include="nanoFramework.Runtime.Native, Version=1.0.2.2, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.Runtime.Native.1.0.2-preview-016\lib\nanoFramework.Runtime.Native.dll</HintPath> <HintPath>..\packages\nanoFramework.Runtime.Native.1.0.2\lib\nanoFramework.Runtime.Native.dll</HintPath>
<Private>True</Private> <Private>True</Private>
<SpecificVersion>True</SpecificVersion> <SpecificVersion>True</SpecificVersion>
</Reference> </Reference>
<Reference Include="System.Math, Version=1.0.2.15, Culture=neutral, PublicKeyToken=c07d481e9758c731"> <Reference Include="System.Math, Version=1.0.2.2, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.System.Math.1.0.2-preview-015\lib\System.Math.dll</HintPath> <HintPath>..\packages\nanoFramework.System.Math.1.0.2\lib\System.Math.dll</HintPath>
<Private>True</Private> <Private>True</Private>
<SpecificVersion>True</SpecificVersion> <SpecificVersion>True</SpecificVersion>
</Reference> </Reference>
<Reference Include="System.Net, Version=1.0.2.23, Culture=neutral, PublicKeyToken=c07d481e9758c731"> <Reference Include="System.Net, Version=1.0.2.2, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.System.Net.1.0.2-preview-023\lib\System.Net.dll</HintPath> <HintPath>..\packages\nanoFramework.System.Net.1.0.2\lib\System.Net.dll</HintPath>
<Private>True</Private> <Private>True</Private>
<SpecificVersion>True</SpecificVersion> <SpecificVersion>True</SpecificVersion>
</Reference> </Reference>

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

@ -34,18 +34,28 @@
<Folder Include="Test\" /> <Folder Include="Test\" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Reference Include="mscorlib, Version=1.0.6.21, Culture=neutral, PublicKeyToken=c07d481e9758c731"> <Reference Include="mscorlib, Version=1.1.0.4, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.CoreLibrary.1.0.6-preview-021\lib\mscorlib.dll</HintPath> <HintPath>..\packages\nanoFramework.CoreLibrary.1.1.0\lib\mscorlib.dll</HintPath>
<Private>True</Private> <Private>True</Private>
<SpecificVersion>True</SpecificVersion> <SpecificVersion>True</SpecificVersion>
</Reference> </Reference>
<Reference Include="nanoFramework.Runtime.Events, Version=1.0.2.23, Culture=neutral, PublicKeyToken=c07d481e9758c731"> <Reference Include="nanoFramework.Runtime.Events, Version=1.0.2.2, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.Runtime.Events.1.0.2-preview-023\lib\nanoFramework.Runtime.Events.dll</HintPath> <HintPath>..\packages\nanoFramework.Runtime.Events.1.0.2\lib\nanoFramework.Runtime.Events.dll</HintPath>
<Private>True</Private> <Private>True</Private>
<SpecificVersion>True</SpecificVersion> <SpecificVersion>True</SpecificVersion>
</Reference> </Reference>
<Reference Include="System.Net, Version=1.0.2.23, Culture=neutral, PublicKeyToken=c07d481e9758c731"> <Reference Include="nanoFramework.Runtime.Native, Version=1.0.2.2, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.System.Net.1.0.2-preview-023\lib\System.Net.dll</HintPath> <HintPath>..\packages\nanoFramework.Runtime.Native.1.0.2\lib\nanoFramework.Runtime.Native.dll</HintPath>
<Private>True</Private>
<SpecificVersion>True</SpecificVersion>
</Reference>
<Reference Include="System.Math, Version=1.0.2.2, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.System.Math.1.0.2\lib\System.Math.dll</HintPath>
<Private>True</Private>
<SpecificVersion>True</SpecificVersion>
</Reference>
<Reference Include="System.Net, Version=1.0.2.2, Culture=neutral, PublicKeyToken=c07d481e9758c731">
<HintPath>..\packages\nanoFramework.System.Net.1.0.2\lib\System.Net.dll</HintPath>
<Private>True</Private> <Private>True</Private>
<SpecificVersion>True</SpecificVersion> <SpecificVersion>True</SpecificVersion>
</Reference> </Reference>

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

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="nanoFramework.CoreLibrary" version="1.0.6-preview-021" targetFramework="netnanoframework10" /> <package id="nanoFramework.CoreLibrary" version="1.1.0" targetFramework="netnanoframework10" />
<package id="nanoFramework.Runtime.Events" version="1.0.2-preview-023" targetFramework="netnanoframework10" /> <package id="nanoFramework.Runtime.Events" version="1.0.2" targetFramework="netnanoframework10" />
<package id="nanoFramework.Runtime.Native" version="1.0.2-preview-016" targetFramework="netnanoframework10" /> <package id="nanoFramework.Runtime.Native" version="1.0.2" targetFramework="netnanoframework10" />
<package id="nanoFramework.System.Math" version="1.0.2-preview-015" targetFramework="netnanoframework10" /> <package id="nanoFramework.System.Math" version="1.0.2" targetFramework="netnanoframework10" />
<package id="nanoFramework.System.Net" version="1.0.2-preview-023" targetFramework="netnanoframework10" /> <package id="nanoFramework.System.Net" version="1.0.2" targetFramework="netnanoframework10" />
</packages> </packages>

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

@ -70,11 +70,23 @@ namespace Amqp
if (address.UseSsl) if (address.UseSsl)
{ {
SslSocket sslSocket = new SslSocket(socket); SslSocket sslSocket = new SslSocket(socket);
#if (MF_FRAMEWORK_VERSION_V4_2 || MF_FRAMEWORK_VERSION_V4_3 || MF_FRAMEWORK_VERSION_V4_4)
sslSocket.AuthenticateAsClient( sslSocket.AuthenticateAsClient(
address.Host, address.Host,
null, null,
noVerification ? SslVerification.NoVerification : SslVerification.VerifyPeer, noVerification ? SslVerification.NoVerification : SslVerification.VerifyPeer,
SslProtocols.Default); SslProtocols.Default);
#elif (NANOFRAMEWORK_V1_0)
sslSocket.SslVerification = noVerification ? SslVerification.NoVerification : SslVerification.VerifyPeer;
sslSocket.AuthenticateAsClient(
address.Host,
null,
SslProtocols.TLSv11);
#endif
this.socketTransport = sslSocket; this.socketTransport = sslSocket;
} }
else else

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

@ -777,7 +777,7 @@ namespace Amqp
#if (MF_FRAMEWORK_VERSION_V4_2 || MF_FRAMEWORK_VERSION_V4_3 || MF_FRAMEWORK_VERSION_V4_4) #if (MF_FRAMEWORK_VERSION_V4_2 || MF_FRAMEWORK_VERSION_V4_3 || MF_FRAMEWORK_VERSION_V4_4)
sslStream.AuthenticateAsClient(host, null, SslVerification.VerifyPeer, SslProtocols.TLSv1); sslStream.AuthenticateAsClient(host, null, SslVerification.VerifyPeer, SslProtocols.TLSv1);
#elif (NANOFRAMEWORK_V1_0) #elif (NANOFRAMEWORK_V1_0)
sslStream.AuthenticateAsClient(host, null, SslVerification.VerifyPeer, SslProtocols.TLSv11); sslStream.AuthenticateAsClient(host, null, SslProtocols.TLSv11);
#endif #endif
stream = sslStream; stream = sslStream;

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

@ -18,11 +18,11 @@
<copyright>Copyright 2014</copyright> <copyright>Copyright 2014</copyright>
<tags>AMQP net netmf nf nanoframework</tags> <tags>AMQP net netmf nf nanoframework</tags>
<dependencies> <dependencies>
<dependency id="nanoFramework.CoreLibrary" version="1.0.6-preview-021" /> <dependency id="nanoFramework.CoreLibrary" version="1.1.0" />
<dependency id="nanoFramework.Runtime.Events" version="1.0.2-preview-023" /> <dependency id="nanoFramework.Runtime.Events" version="1.0.2" />
<dependency id="nanoFramework.Runtime.Native" version="1.0.2-preview-016" /> <dependency id="nanoFramework.Runtime.Native" version="1.0.2" />
<dependency id="nanoFramework.System.Math" version="1.0.2-preview-015" /> <dependency id="nanoFramework.System.Math" version="1.0.2" />
<dependency id="nanoFramework.System.Net" version="1.0.2-preview-023" /> <dependency id="nanoFramework.System.Net" version="1.0.2" />
</dependencies> </dependencies>
</metadata> </metadata>
<files> <files>

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

@ -14,11 +14,11 @@
<copyright>Copyright 2014</copyright> <copyright>Copyright 2014</copyright>
<tags>AMQP netmf nf nanoframework</tags> <tags>AMQP netmf nf nanoframework</tags>
<dependencies> <dependencies>
<dependency id="nanoFramework.CoreLibrary" version="1.0.6-preview-021" /> <dependency id="nanoFramework.CoreLibrary" version="1.1.0" />
<dependency id="nanoFramework.Runtime.Events" version="1.0.2-preview-023" /> <dependency id="nanoFramework.Runtime.Events" version="1.0.2" />
<dependency id="nanoFramework.Runtime.Native" version="1.0.2-preview-016" /> <dependency id="nanoFramework.Runtime.Native" version="1.0.2" />
<dependency id="nanoFramework.System.Math" version="1.0.2-preview-015" /> <dependency id="nanoFramework.System.Math" version="1.0.2" />
<dependency id="nanoFramework.System.Net" version="1.0.2-preview-023" /> <dependency id="nanoFramework.System.Net" version="1.0.2" />
</dependencies> </dependencies>
</metadata> </metadata>
<files> <files>