From 9d322f928787f5989e811074d90c02f3fa3d3ec4 Mon Sep 17 00:00:00 2001 From: techyian Date: Tue, 18 Apr 2017 12:57:02 +0100 Subject: [PATCH] Adding .NET Core projects --- .paket/Paket.Restore.targets | 108 +++ .../Handlers/StreamCaptureHandler.cs | 59 +- .../Handlers/VideoStreamCaptureHandler.cs | 9 +- .../Handlers/FFmpegCaptureHandler.cs | 37 +- MMALSharp.FFmpeg/VideoUtilities.cs | 8 +- MMALSharp.sln | 33 +- .../Components/MMALDownstreamComponent.cs | 11 +- MMALSharp/MMALPortBase.cs | 9 +- MMALSharp/MMALPortImpl.cs | 14 +- MMALSharp/MMALSharp.csproj | 144 ++-- MMALSharp/paket.references | 1 + .../MMALSharpCore.Common.csproj | 17 + .../MMALSharpCore.FFmpeg.csproj | 18 + MMALSharpCore.FFmpeg/paket.references | 3 + MMALSharpCore/MMALSharpCore.csproj | 21 + MMALSharpCore/paket.references | 3 + .../MMALSharpCoreExample.csproj | 14 + MMALSharpCoreExample/Program.cs | 89 +++ MMALSharpCoreExample/paket.references | 3 + MMALSharpExample/MMALSharpExample.csproj | 144 ++-- MMALSharpExample/Program.cs | 2 +- MMALSharpExample/paket.references | 1 + paket.dependencies | 17 +- paket.lock | 624 ++++++++++++++++++ 24 files changed, 1170 insertions(+), 219 deletions(-) create mode 100644 .paket/Paket.Restore.targets create mode 100644 MMALSharpCore.Common/MMALSharpCore.Common.csproj create mode 100644 MMALSharpCore.FFmpeg/MMALSharpCore.FFmpeg.csproj create mode 100644 MMALSharpCore.FFmpeg/paket.references create mode 100644 MMALSharpCore/MMALSharpCore.csproj create mode 100644 MMALSharpCore/paket.references create mode 100644 MMALSharpCoreExample/MMALSharpCoreExample.csproj create mode 100644 MMALSharpCoreExample/Program.cs create mode 100644 MMALSharpCoreExample/paket.references diff --git a/.paket/Paket.Restore.targets b/.paket/Paket.Restore.targets new file mode 100644 index 00000000..e48e078d --- /dev/null +++ b/.paket/Paket.Restore.targets @@ -0,0 +1,108 @@ + + + + true + $(MSBuildThisFileDirectory) + /Library/Frameworks/Mono.framework/Commands/mono + mono + + $(PaketRootPath)paket.exe + $(PaketToolsPath)paket.exe + "$(PaketExePath)" + $(MonoPath) --runtime=v4.0.30319 "$(PaketExePath)" + + + + + + + + $(MSBuildProjectDirectory)/obj/$(MSBuildProjectFile).references + + + + + + + + + $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[0]) + $([System.String]::Copy('%(PaketReferencesFileLines.Identity)').Split(',')[1]) + + + %(PaketReferencesFileLinesInfo.PackageVersion) + + + + + $(MSBuildProjectDirectory)/obj/$(MSBuildProjectFile).NuGet.Config + + + + + + + false + + + + + + $(MSBuildProjectDirectory)/obj/$(MSBuildProjectFile).references + true + + + + <_NuspecFiles Include="$(BaseIntermediateOutputPath)*.nuspec"/> + + + + + + + + + + + + + \ No newline at end of file diff --git a/MMALSharp.Common/Handlers/StreamCaptureHandler.cs b/MMALSharp.Common/Handlers/StreamCaptureHandler.cs index c60bfd19..eec3dca9 100644 --- a/MMALSharp.Common/Handlers/StreamCaptureHandler.cs +++ b/MMALSharp.Common/Handlers/StreamCaptureHandler.cs @@ -13,9 +13,24 @@ namespace MMALSharp.Handlers /// public abstract class StreamCaptureHandler : ICaptureHandler { + /// + /// A Stream instance that we can process image data to + /// protected Stream CurrentStream { get; set; } - public List> ProcessedStreams { get; set; } = new List>(); + + /// + /// A list of FileStreams that have been processed by this capture handler + /// + public List> ProcessedFiles { get; set; } = new List>(); + + /// + /// The total size of data that has been processed by this capture handler + /// protected int Processed { get; set; } + + /// + /// The directory + /// protected string Directory { get; set; } protected string Extension { get; set; } @@ -27,6 +42,9 @@ public StreamCaptureHandler(string directory, string extension) System.IO.Directory.CreateDirectory(this.Directory); } + /// + /// Creates a new File (FileStream), assigns it to the Stream instance of this class and disposes of any existing stream. + /// public void NewFile() { if (this.CurrentStream != null) @@ -35,6 +53,10 @@ public void NewFile() this.CurrentStream = File.Create(this.Directory + "/" + DateTime.Now.ToString("dd-MMM-yy HH-mm-ss") + "." + this.Extension); } + /// + /// Processes the data passed into this method to this class' Stream instance. + /// + /// The image data public void Process(byte[] data) { this.Processed += data.Length; @@ -46,11 +68,18 @@ public void Process(byte[] data) } + /// + /// Allows us to do any further processing once the capture method has completed. + /// public void PostProcess() { try - { - this.ProcessedStreams.Add(new Tuple (this.GetDirectory(), this.GetFilename(), this.GetExtension())); + { + if (this.CurrentStream.GetType() == typeof(FileStream)) + { + this.ProcessedFiles.Add(new Tuple(this.Directory, this.GetFilename(), this.Extension)); + } + Console.WriteLine(string.Format("Successfully processed {0}", Helpers.ConvertBytesToMegabytes(this.Processed))); } catch(Exception e) @@ -59,25 +88,11 @@ public void PostProcess() Console.WriteLine(e.Message); } } - - public string GetDirectory() - { - if(this.CurrentStream.GetType() == typeof(FileStream)) - { - return Path.GetDirectoryName(((FileStream)this.CurrentStream).Name); - } - return null; - } - - private string GetExtension() - { - if (this.CurrentStream.GetType() == typeof(FileStream)) - { - return Path.GetExtension(((FileStream)this.CurrentStream).Name); - } - return null; - } - + + /// + /// Gets the filename that a FileStream points to + /// + /// The filename private string GetFilename() { if (this.CurrentStream.GetType() == typeof(FileStream)) diff --git a/MMALSharp.Common/Handlers/VideoStreamCaptureHandler.cs b/MMALSharp.Common/Handlers/VideoStreamCaptureHandler.cs index 6d18cf13..c9af6d66 100644 --- a/MMALSharp.Common/Handlers/VideoStreamCaptureHandler.cs +++ b/MMALSharp.Common/Handlers/VideoStreamCaptureHandler.cs @@ -11,16 +11,9 @@ public class VideoStreamCaptureHandler : StreamCaptureHandler { public VideoStreamCaptureHandler(string directory, string extension) : base(directory, extension) { } - public bool CanSplit() - { - if (this.CurrentStream.GetType() == typeof(FileStream)) - return true; - return false; - } - public void Split() { - if (this.CanSplit()) + if (this.CurrentStream.GetType() == typeof(FileStream)) { this.NewFile(); } diff --git a/MMALSharp.FFmpeg/Handlers/FFmpegCaptureHandler.cs b/MMALSharp.FFmpeg/Handlers/FFmpegCaptureHandler.cs index b02709e7..7bebad83 100644 --- a/MMALSharp.FFmpeg/Handlers/FFmpegCaptureHandler.cs +++ b/MMALSharp.FFmpeg/Handlers/FFmpegCaptureHandler.cs @@ -15,7 +15,31 @@ public class FFmpegCaptureHandler : ICaptureHandler { public Process MyProcess { get; set; } - public FFmpegCaptureHandler(string streamName, string streamUrl, int framerate) + /// + /// Streams video from the standard output stream via FFmpeg to an RTMP server. + /// + /// The meta name of the stream + /// The url of your RTMP server - the url to stream to. + /// + public static FFmpegCaptureHandler RTMPStreamer(string streamName, string streamUrl) + { + return new FFmpegCaptureHandler(string.Format("-re -i - -c:v copy -an -f flv -metadata streamName={0} {1}", streamName, streamUrl)); + } + + /// + /// Records video from the standard output stream via FFmpeg into a video file that can be opened without explicit command line flags. + /// + /// The directory to store the output video file + /// The extension of the video file + /// + public static FFmpegCaptureHandler TakeVideoMultiplex(string directory, string extension) + { + System.IO.Directory.CreateDirectory(directory); + + return new FFmpegCaptureHandler(string.Format("-re -i - -c:v copy {0}/out.{1}", directory.TrimEnd(), extension.TrimStart('.'))); + } + + public FFmpegCaptureHandler(string argument) { this.MyProcess = new Process(); @@ -46,7 +70,7 @@ public FFmpegCaptureHandler(string streamName, string streamUrl, int framerate) } }; - this.MyProcess.StartInfo.Arguments = string.Format("-i - -c:v copy -an -r {0} -f flv -metadata streamName={1} {2}", framerate, streamName, streamUrl); + this.MyProcess.StartInfo.Arguments = argument; this.MyProcess.Start(); this.MyProcess.BeginOutputReadLine(); this.MyProcess.BeginErrorReadLine(); @@ -69,10 +93,7 @@ public string GetDirectory() throw new NotImplementedException(); } - public void PostProcess() - { - - } + public void PostProcess() { } public void Process(byte[] data) { @@ -83,7 +104,7 @@ public void Process(byte[] data) } catch { - this.MyProcess.Close(); + this.MyProcess.Kill(); throw; } } @@ -95,7 +116,7 @@ public void Split() public void Dispose() { - this.MyProcess.Close(); + this.MyProcess.Kill(); } } diff --git a/MMALSharp.FFmpeg/VideoUtilities.cs b/MMALSharp.FFmpeg/VideoUtilities.cs index 6c921fce..532dcd8b 100644 --- a/MMALSharp.FFmpeg/VideoUtilities.cs +++ b/MMALSharp.FFmpeg/VideoUtilities.cs @@ -23,17 +23,17 @@ public static void ImagesToVideo(this ImageStreamCaptureHandler result, string t process.StartInfo.FileName = "ffmpeg"; - if (result.ProcessedStreams.Count == 0) + if (result.ProcessedFiles.Count == 0) return; //Create temporary directory and copy all files in the capture handler to it. - var tempDirectory = result.ProcessedStreams.FirstOrDefault().Item1.TrimEnd('/') + "/mmalsharptemp/"; - var extension = result.ProcessedStreams.FirstOrDefault().Item3; + var tempDirectory = result.ProcessedFiles.FirstOrDefault().Item1.TrimEnd('/') + "/mmalsharptemp/"; + var extension = result.ProcessedFiles.FirstOrDefault().Item3; try { System.IO.Directory.CreateDirectory(tempDirectory); - foreach (var tuple in result.ProcessedStreams) + foreach (var tuple in result.ProcessedFiles) { System.IO.File.Copy(tuple.Item1.TrimEnd('/') + "/" + tuple.Item2.TrimEnd('.') + tuple.Item3, tempDirectory + tuple.Item2.TrimEnd('.') + tuple.Item3); } diff --git a/MMALSharp.sln b/MMALSharp.sln index 1034a261..aa7f87f2 100644 --- a/MMALSharp.sln +++ b/MMALSharp.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.25420.1 +# Visual Studio 15 +VisualStudioVersion = 15.0.26403.3 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MMALSharp", "MMALSharp\MMALSharp.csproj", "{5B03E4B4-13AA-4EC8-8FD3-9DAA176EAA70}" ProjectSection(ProjectDependencies) = postProject @@ -21,6 +21,19 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MMALSharp.FFmpeg", "MMALSha EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MMALSharp.Common", "MMALSharp.Common\MMALSharp.Common.csproj", "{D8CA0BC9-CA3B-4EC1-9898-542A6F5346F8}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MMALSharpCore", "MMALSharpCore\MMALSharpCore.csproj", "{B8094B2C-C9D5-4199-9F6B-EDF53B6E4EB1}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MMALSharpCore.Common", "MMALSharpCore.Common\MMALSharpCore.Common.csproj", "{0DBA7A53-6D52-4825-93CC-BBE785A02DBB}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MMALSharpCore.FFmpeg", "MMALSharpCore.FFmpeg\MMALSharpCore.FFmpeg.csproj", "{0A2AAF93-A749-4C04-BA0F-AA7F19E428C8}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MMALSharpCoreExample", "MMALSharpCoreExample\MMALSharpCoreExample.csproj", "{630219BA-72E1-41A9-8AA7-24D4E0DD7BA1}" + ProjectSection(ProjectDependencies) = postProject + {B8094B2C-C9D5-4199-9F6B-EDF53B6E4EB1} = {B8094B2C-C9D5-4199-9F6B-EDF53B6E4EB1} + {0DBA7A53-6D52-4825-93CC-BBE785A02DBB} = {0DBA7A53-6D52-4825-93CC-BBE785A02DBB} + {0A2AAF93-A749-4C04-BA0F-AA7F19E428C8} = {0A2AAF93-A749-4C04-BA0F-AA7F19E428C8} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -43,6 +56,22 @@ Global {D8CA0BC9-CA3B-4EC1-9898-542A6F5346F8}.Debug|Any CPU.Build.0 = Debug|Any CPU {D8CA0BC9-CA3B-4EC1-9898-542A6F5346F8}.Release|Any CPU.ActiveCfg = Release|Any CPU {D8CA0BC9-CA3B-4EC1-9898-542A6F5346F8}.Release|Any CPU.Build.0 = Release|Any CPU + {B8094B2C-C9D5-4199-9F6B-EDF53B6E4EB1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B8094B2C-C9D5-4199-9F6B-EDF53B6E4EB1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B8094B2C-C9D5-4199-9F6B-EDF53B6E4EB1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B8094B2C-C9D5-4199-9F6B-EDF53B6E4EB1}.Release|Any CPU.Build.0 = Release|Any CPU + {0DBA7A53-6D52-4825-93CC-BBE785A02DBB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0DBA7A53-6D52-4825-93CC-BBE785A02DBB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0DBA7A53-6D52-4825-93CC-BBE785A02DBB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0DBA7A53-6D52-4825-93CC-BBE785A02DBB}.Release|Any CPU.Build.0 = Release|Any CPU + {0A2AAF93-A749-4C04-BA0F-AA7F19E428C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0A2AAF93-A749-4C04-BA0F-AA7F19E428C8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0A2AAF93-A749-4C04-BA0F-AA7F19E428C8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0A2AAF93-A749-4C04-BA0F-AA7F19E428C8}.Release|Any CPU.Build.0 = Release|Any CPU + {630219BA-72E1-41A9-8AA7-24D4E0DD7BA1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {630219BA-72E1-41A9-8AA7-24D4E0DD7BA1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {630219BA-72E1-41A9-8AA7-24D4E0DD7BA1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {630219BA-72E1-41A9-8AA7-24D4E0DD7BA1}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/MMALSharp/Components/MMALDownstreamComponent.cs b/MMALSharp/Components/MMALDownstreamComponent.cs index 4bedd35f..2e423dea 100644 --- a/MMALSharp/Components/MMALDownstreamComponent.cs +++ b/MMALSharp/Components/MMALDownstreamComponent.cs @@ -1,12 +1,7 @@ using MMALSharp.Handlers; -using MMALSharp.Native; -using Nito.AsyncEx; using System; -using System.Collections.Generic; -using System.IO; using System.Linq; -using System.Text; -using System.Threading.Tasks; +using System.Reflection; namespace MMALSharp.Components { @@ -64,7 +59,7 @@ public virtual void ManagedCallback(MMALBufferImpl buffer, MMALPortBase port) /// The managed method to callback to from the native callback public void Start(int outputPortNumber, Action managedCallback) { - if (this.Handler != null && this.Handler.GetType().IsSubclassOf(typeof(StreamCaptureHandler))) + if (this.Handler != null && this.Handler.GetType().GetTypeInfo().IsSubclassOf(typeof(StreamCaptureHandler))) { ((StreamCaptureHandler)this.Handler).NewFile(); } @@ -79,7 +74,7 @@ public void Start(int outputPortNumber, Action man /// The managed method to callback to from the native callback public void Start(MMALPortBase port, Action managedCallback) { - if (this.Handler != null && this.Handler.GetType().IsSubclassOf(typeof(StreamCaptureHandler))) + if (this.Handler != null && this.Handler.GetType().GetTypeInfo().IsSubclassOf(typeof(StreamCaptureHandler))) { ((StreamCaptureHandler)this.Handler).NewFile(); } diff --git a/MMALSharp/MMALPortBase.cs b/MMALSharp/MMALPortBase.cs index d73a32a9..373e7f4d 100644 --- a/MMALSharp/MMALPortBase.cs +++ b/MMALSharp/MMALPortBase.cs @@ -1,14 +1,7 @@ -using MMALSharp.Handlers; -using MMALSharp.Native; +using MMALSharp.Native; using Nito.AsyncEx; using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; using System.Runtime.InteropServices; -using System.Text; -using System.Threading; -using System.Threading.Tasks; using static MMALSharp.MMALCallerHelper; namespace MMALSharp diff --git a/MMALSharp/MMALPortImpl.cs b/MMALSharp/MMALPortImpl.cs index 22b5cc26..8fd93b7a 100644 --- a/MMALSharp/MMALPortImpl.cs +++ b/MMALSharp/MMALPortImpl.cs @@ -1,13 +1,8 @@ -using MMALSharp.Handlers; -using MMALSharp.Native; +using MMALSharp.Native; using System; -using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; -using System.Text; using System.Threading; -using System.Threading.Tasks; -using System.Timers; using static MMALSharp.MMALCallerHelper; namespace MMALSharp @@ -172,8 +167,7 @@ internal override void NativePortCallback(MMAL_PORT_T* port, MMAL_BUFFER_HEADER_ if (MMALCameraConfig.Debug) Console.WriteLine("Unable to send buffer header"); } - - Thread.Sleep(50); + } } @@ -256,9 +250,7 @@ internal override void NativePortCallback(MMAL_PORT_T* port, MMAL_BUFFER_HEADER_ { if (MMALCameraConfig.Debug) Console.WriteLine("Unable to send buffer header"); - } - - Thread.Sleep(50); + } } } diff --git a/MMALSharp/MMALSharp.csproj b/MMALSharp/MMALSharp.csproj index 67fb0b3a..92c4cb83 100644 --- a/MMALSharp/MMALSharp.csproj +++ b/MMALSharp/MMALSharp.csproj @@ -111,17 +111,17 @@ - ..\packages\Microsoft.Bcl\lib\net40\System.IO.dll + ..\packages\netframework\Microsoft.Bcl\lib\net40\System.IO.dll True True - ..\packages\Microsoft.Bcl\lib\net40\System.Runtime.dll + ..\packages\netframework\Microsoft.Bcl\lib\net40\System.Runtime.dll True True - ..\packages\Microsoft.Bcl\lib\net40\System.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl\lib\net40\System.Threading.Tasks.dll True True @@ -130,17 +130,17 @@ - ..\packages\Microsoft.Bcl\lib\portable-net40+sl4+win8\System.IO.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+sl4+win8\System.IO.dll True True - ..\packages\Microsoft.Bcl\lib\portable-net40+sl4+win8\System.Runtime.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+sl4+win8\System.Runtime.dll True True - ..\packages\Microsoft.Bcl\lib\portable-net40+sl4+win8\System.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+sl4+win8\System.Threading.Tasks.dll True True @@ -149,17 +149,17 @@ - ..\packages\Microsoft.Bcl\lib\portable-net40+sl4+win8+wp71+wpa81\System.IO.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+sl4+win8+wp71+wpa81\System.IO.dll True True - ..\packages\Microsoft.Bcl\lib\portable-net40+sl4+win8+wp71+wpa81\System.Runtime.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+sl4+win8+wp71+wpa81\System.Runtime.dll True True - ..\packages\Microsoft.Bcl\lib\portable-net40+sl4+win8+wp71+wpa81\System.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+sl4+win8+wp71+wpa81\System.Threading.Tasks.dll True True @@ -168,17 +168,17 @@ - ..\packages\Microsoft.Bcl\lib\portable-net40+sl4+win8+wp8+wpa81\System.IO.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+sl4+win8+wp8+wpa81\System.IO.dll True True - ..\packages\Microsoft.Bcl\lib\portable-net40+sl4+win8+wp8+wpa81\System.Runtime.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+sl4+win8+wp8+wpa81\System.Runtime.dll True True - ..\packages\Microsoft.Bcl\lib\portable-net40+sl4+win8+wp8+wpa81\System.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+sl4+win8+wp8+wpa81\System.Threading.Tasks.dll True True @@ -187,17 +187,17 @@ - ..\packages\Microsoft.Bcl\lib\portable-net40+sl5+win8+wp8+wpa81\System.IO.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+sl5+win8+wp8+wpa81\System.IO.dll True True - ..\packages\Microsoft.Bcl\lib\portable-net40+sl5+win8+wp8+wpa81\System.Runtime.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+sl5+win8+wp8+wpa81\System.Runtime.dll True True - ..\packages\Microsoft.Bcl\lib\portable-net40+sl5+win8+wp8+wpa81\System.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+sl5+win8+wp8+wpa81\System.Threading.Tasks.dll True True @@ -206,17 +206,17 @@ - ..\packages\Microsoft.Bcl\lib\portable-net40+win8\System.IO.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+win8\System.IO.dll True True - ..\packages\Microsoft.Bcl\lib\portable-net40+win8\System.Runtime.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+win8\System.Runtime.dll True True - ..\packages\Microsoft.Bcl\lib\portable-net40+win8\System.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+win8\System.Threading.Tasks.dll True True @@ -225,17 +225,17 @@ - ..\packages\Microsoft.Bcl\lib\portable-net40+win8+wp8+wpa81\System.IO.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+win8+wp8+wpa81\System.IO.dll True True - ..\packages\Microsoft.Bcl\lib\portable-net40+win8+wp8+wpa81\System.Runtime.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+win8+wp8+wpa81\System.Runtime.dll True True - ..\packages\Microsoft.Bcl\lib\portable-net40+win8+wp8+wpa81\System.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+win8+wp8+wpa81\System.Threading.Tasks.dll True True @@ -244,17 +244,17 @@ - ..\packages\Microsoft.Bcl\lib\sl5\System.IO.dll + ..\packages\netframework\Microsoft.Bcl\lib\sl5\System.IO.dll True True - ..\packages\Microsoft.Bcl\lib\sl5\System.Runtime.dll + ..\packages\netframework\Microsoft.Bcl\lib\sl5\System.Runtime.dll True True - ..\packages\Microsoft.Bcl\lib\sl5\System.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl\lib\sl5\System.Threading.Tasks.dll True True @@ -268,17 +268,17 @@ True - ..\packages\Microsoft.Bcl.Async\lib\net40\Microsoft.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl.Async\lib\net40\Microsoft.Threading.Tasks.dll True True - ..\packages\Microsoft.Bcl.Async\lib\net40\Microsoft.Threading.Tasks.Extensions.dll + ..\packages\netframework\Microsoft.Bcl.Async\lib\net40\Microsoft.Threading.Tasks.Extensions.dll True True - ..\packages\Microsoft.Bcl.Async\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll + ..\packages\netframework\Microsoft.Bcl.Async\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll True True @@ -287,12 +287,12 @@ - ..\packages\Microsoft.Bcl.Async\lib\portable-net40+sl4+win8+wp71+wpa81\Microsoft.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl.Async\lib\portable-net40+sl4+win8+wp71+wpa81\Microsoft.Threading.Tasks.dll True True - ..\packages\Microsoft.Bcl.Async\lib\portable-net40+sl4+win8+wp71+wpa81\Microsoft.Threading.Tasks.Extensions.dll + ..\packages\netframework\Microsoft.Bcl.Async\lib\portable-net40+sl4+win8+wp71+wpa81\Microsoft.Threading.Tasks.Extensions.dll True True @@ -301,12 +301,12 @@ - ..\packages\Microsoft.Bcl.Async\lib\portable-net45+win8+wp8+wpa81\Microsoft.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl.Async\lib\portable-net45+win8+wp8+wpa81\Microsoft.Threading.Tasks.dll True True - ..\packages\Microsoft.Bcl.Async\lib\portable-net45+win8+wp8+wpa81\Microsoft.Threading.Tasks.Extensions.dll + ..\packages\netframework\Microsoft.Bcl.Async\lib\portable-net45+win8+wp8+wpa81\Microsoft.Threading.Tasks.Extensions.dll True True @@ -315,12 +315,12 @@ - ..\packages\Microsoft.Bcl.Async\lib\portable-net45+win8+wpa81\Microsoft.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl.Async\lib\portable-net45+win8+wpa81\Microsoft.Threading.Tasks.dll True True - ..\packages\Microsoft.Bcl.Async\lib\portable-net45+win8+wpa81\Microsoft.Threading.Tasks.Extensions.dll + ..\packages\netframework\Microsoft.Bcl.Async\lib\portable-net45+win8+wpa81\Microsoft.Threading.Tasks.Extensions.dll True True @@ -329,17 +329,17 @@ - ..\packages\Microsoft.Bcl.Async\lib\sl4\Microsoft.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl.Async\lib\sl4\Microsoft.Threading.Tasks.dll True True - ..\packages\Microsoft.Bcl.Async\lib\sl4\Microsoft.Threading.Tasks.Extensions.dll + ..\packages\netframework\Microsoft.Bcl.Async\lib\sl4\Microsoft.Threading.Tasks.Extensions.dll True True - ..\packages\Microsoft.Bcl.Async\lib\sl4\Microsoft.Threading.Tasks.Extensions.Silverlight.dll + ..\packages\netframework\Microsoft.Bcl.Async\lib\sl4\Microsoft.Threading.Tasks.Extensions.Silverlight.dll True True @@ -350,17 +350,17 @@ - ..\packages\Nito.AsyncEx\lib\MonoAndroid\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\MonoAndroid\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\MonoAndroid\Nito.AsyncEx.Concurrent.dll + ..\packages\netframework\Nito.AsyncEx\lib\MonoAndroid\Nito.AsyncEx.Concurrent.dll True True - ..\packages\Nito.AsyncEx\lib\MonoAndroid\Nito.AsyncEx.Enlightenment.dll + ..\packages\netframework\Nito.AsyncEx\lib\MonoAndroid\Nito.AsyncEx.Enlightenment.dll True True @@ -369,17 +369,17 @@ - ..\packages\Nito.AsyncEx\lib\net40\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\net40\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\net40\Nito.AsyncEx.Concurrent.dll + ..\packages\netframework\Nito.AsyncEx\lib\net40\Nito.AsyncEx.Concurrent.dll True True - ..\packages\Nito.AsyncEx\lib\net40\Nito.AsyncEx.Enlightenment.dll + ..\packages\netframework\Nito.AsyncEx\lib\net40\Nito.AsyncEx.Enlightenment.dll True True @@ -388,17 +388,17 @@ - ..\packages\Nito.AsyncEx\lib\net45\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\net45\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\net45\Nito.AsyncEx.Concurrent.dll + ..\packages\netframework\Nito.AsyncEx\lib\net45\Nito.AsyncEx.Concurrent.dll True True - ..\packages\Nito.AsyncEx\lib\net45\Nito.AsyncEx.Enlightenment.dll + ..\packages\netframework\Nito.AsyncEx\lib\net45\Nito.AsyncEx.Enlightenment.dll True True @@ -407,17 +407,17 @@ - ..\packages\Nito.AsyncEx\lib\netcore45\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\netcore45\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\netcore45\Nito.AsyncEx.Concurrent.dll + ..\packages\netframework\Nito.AsyncEx\lib\netcore45\Nito.AsyncEx.Concurrent.dll True True - ..\packages\Nito.AsyncEx\lib\netcore45\Nito.AsyncEx.Enlightenment.dll + ..\packages\netframework\Nito.AsyncEx\lib\netcore45\Nito.AsyncEx.Enlightenment.dll True True @@ -426,12 +426,12 @@ - ..\packages\Nito.AsyncEx\lib\portable-net40+netcore45\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\portable-net40+netcore45\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\portable-net40+netcore45\Nito.AsyncEx.Concurrent.dll + ..\packages\netframework\Nito.AsyncEx\lib\portable-net40+netcore45\Nito.AsyncEx.Concurrent.dll True True @@ -440,7 +440,7 @@ - ..\packages\Nito.AsyncEx\lib\portable-net40+netcore45+sl4+wp71\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\portable-net40+netcore45+sl4+wp71\Nito.AsyncEx.dll True True @@ -449,7 +449,7 @@ - ..\packages\Nito.AsyncEx\lib\portable-net40+netcore45+sl5+wp8+wpa81\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\portable-net40+netcore45+sl5+wp8+wpa81\Nito.AsyncEx.dll True True @@ -458,7 +458,7 @@ - ..\packages\Nito.AsyncEx\lib\portable-net45+netcore45+wp8+wpa81\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\portable-net45+netcore45+wp8+wpa81\Nito.AsyncEx.dll True True @@ -467,12 +467,12 @@ - ..\packages\Nito.AsyncEx\lib\portable-net45+netcore45+wpa81\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\portable-net45+netcore45+wpa81\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\portable-net45+netcore45+wpa81\Nito.AsyncEx.Concurrent.dll + ..\packages\netframework\Nito.AsyncEx\lib\portable-net45+netcore45+wpa81\Nito.AsyncEx.Concurrent.dll True True @@ -481,12 +481,12 @@ - ..\packages\Nito.AsyncEx\lib\sl4\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\sl4\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\sl4\Nito.AsyncEx.Enlightenment.dll + ..\packages\netframework\Nito.AsyncEx\lib\sl4\Nito.AsyncEx.Enlightenment.dll True True @@ -495,12 +495,12 @@ - ..\packages\Nito.AsyncEx\lib\sl5\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\sl5\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\sl5\Nito.AsyncEx.Enlightenment.dll + ..\packages\netframework\Nito.AsyncEx\lib\sl5\Nito.AsyncEx.Enlightenment.dll True True @@ -509,12 +509,12 @@ - ..\packages\Nito.AsyncEx\lib\wp71\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\wp71\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\wp71\Nito.AsyncEx.Enlightenment.dll + ..\packages\netframework\Nito.AsyncEx\lib\wp71\Nito.AsyncEx.Enlightenment.dll True True @@ -523,12 +523,12 @@ - ..\packages\Nito.AsyncEx\lib\wp8\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\wp8\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\wp8\Nito.AsyncEx.Enlightenment.dll + ..\packages\netframework\Nito.AsyncEx\lib\wp8\Nito.AsyncEx.Enlightenment.dll True True @@ -537,17 +537,17 @@ - ..\packages\Nito.AsyncEx\lib\wpa81\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\wpa81\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\wpa81\Nito.AsyncEx.Concurrent.dll + ..\packages\netframework\Nito.AsyncEx\lib\wpa81\Nito.AsyncEx.Concurrent.dll True True - ..\packages\Nito.AsyncEx\lib\wpa81\Nito.AsyncEx.Enlightenment.dll + ..\packages\netframework\Nito.AsyncEx\lib\wpa81\Nito.AsyncEx.Enlightenment.dll True True @@ -556,17 +556,17 @@ - ..\packages\Nito.AsyncEx\lib\Xamarin.iOS10\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\Xamarin.iOS10\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\Xamarin.iOS10\Nito.AsyncEx.Concurrent.dll + ..\packages\netframework\Nito.AsyncEx\lib\Xamarin.iOS10\Nito.AsyncEx.Concurrent.dll True True - ..\packages\Nito.AsyncEx\lib\Xamarin.iOS10\Nito.AsyncEx.Enlightenment.dll + ..\packages\netframework\Nito.AsyncEx\lib\Xamarin.iOS10\Nito.AsyncEx.Enlightenment.dll True True @@ -575,17 +575,17 @@ - ..\packages\Nito.AsyncEx\lib\Xamarin.Mac20\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\Xamarin.Mac20\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\Xamarin.Mac20\Nito.AsyncEx.Concurrent.dll + ..\packages\netframework\Nito.AsyncEx\lib\Xamarin.Mac20\Nito.AsyncEx.Concurrent.dll True True - ..\packages\Nito.AsyncEx\lib\Xamarin.Mac20\Nito.AsyncEx.Enlightenment.dll + ..\packages\netframework\Nito.AsyncEx\lib\Xamarin.Mac20\Nito.AsyncEx.Enlightenment.dll True True diff --git a/MMALSharp/paket.references b/MMALSharp/paket.references index 326691c7..d385cfb9 100644 --- a/MMALSharp/paket.references +++ b/MMALSharp/paket.references @@ -1 +1,2 @@ +group NetFramework Nito.AsyncEx \ No newline at end of file diff --git a/MMALSharpCore.Common/MMALSharpCore.Common.csproj b/MMALSharpCore.Common/MMALSharpCore.Common.csproj new file mode 100644 index 00000000..12f3a002 --- /dev/null +++ b/MMALSharpCore.Common/MMALSharpCore.Common.csproj @@ -0,0 +1,17 @@ + + + + 2.0.0-preview1-002013-00 + ubuntu.16.04-arm + netstandard1.6 + + + + True + + + + + + + \ No newline at end of file diff --git a/MMALSharpCore.FFmpeg/MMALSharpCore.FFmpeg.csproj b/MMALSharpCore.FFmpeg/MMALSharpCore.FFmpeg.csproj new file mode 100644 index 00000000..83b58f2b --- /dev/null +++ b/MMALSharpCore.FFmpeg/MMALSharpCore.FFmpeg.csproj @@ -0,0 +1,18 @@ + + + 2.0.0-preview1-002013-00 + ubuntu.16.04-arm + netstandard1.6 + + + TRACE;DEBUG;NETSTANDARD1_6; + True + + + + + + + + + \ No newline at end of file diff --git a/MMALSharpCore.FFmpeg/paket.references b/MMALSharpCore.FFmpeg/paket.references new file mode 100644 index 00000000..f24f504d --- /dev/null +++ b/MMALSharpCore.FFmpeg/paket.references @@ -0,0 +1,3 @@ +group NetStandard +System.Diagnostics.Process +Microsoft.CSharp \ No newline at end of file diff --git a/MMALSharpCore/MMALSharpCore.csproj b/MMALSharpCore/MMALSharpCore.csproj new file mode 100644 index 00000000..657c1789 --- /dev/null +++ b/MMALSharpCore/MMALSharpCore.csproj @@ -0,0 +1,21 @@ + + + 2.0.0-preview1-002013-00 + ubuntu.16.04-arm + netstandard1.6 + + + True + + + + + + + true + + + + + + \ No newline at end of file diff --git a/MMALSharpCore/paket.references b/MMALSharpCore/paket.references new file mode 100644 index 00000000..6b3329a1 --- /dev/null +++ b/MMALSharpCore/paket.references @@ -0,0 +1,3 @@ +group NetStandard +Nito.AsyncEx +Microsoft.CSharp \ No newline at end of file diff --git a/MMALSharpCoreExample/MMALSharpCoreExample.csproj b/MMALSharpCoreExample/MMALSharpCoreExample.csproj new file mode 100644 index 00000000..c8b8b6b7 --- /dev/null +++ b/MMALSharpCoreExample/MMALSharpCoreExample.csproj @@ -0,0 +1,14 @@ + + + 2.0.0-preview1-002013-00 + ubuntu.16.04-arm + Exe + netcoreapp2.0 + + + + + + + + \ No newline at end of file diff --git a/MMALSharpCoreExample/Program.cs b/MMALSharpCoreExample/Program.cs new file mode 100644 index 00000000..3ceee05f --- /dev/null +++ b/MMALSharpCoreExample/Program.cs @@ -0,0 +1,89 @@ +using MMALSharp; +using MMALSharp.Components; +using MMALSharp.Handlers; +using MMALSharp.Native; +using Nito.AsyncEx; +using System; + +namespace MMALSharpCore.Example +{ + class Program + { + static void Main(string[] args) + { + //Alter any configuration properties required. + MMALCameraConfig.EnableAnnotate = true; + //MMALCameraConfig.Annotate = new AnnotateImage { ShowDateText = true, ShowTimeText = true }; + MMALCameraConfig.VideoResolution = new Resolution(1024, 768); + MMALCameraConfig.PreviewResolution = new Resolution(1024, 768); + MMALCameraConfig.StillResolution = new Resolution(1024, 768); + MMALCameraConfig.Debug = true; + + MMALCameraConfig.InlineHeaders = true; + + MMALCamera cam = MMALCamera.Instance; + + AsyncContext.Run(async () => + { + var imgCaptureHandler = new ImageStreamCaptureHandler("/home/pi/images/", "jpg"); + var vidCaptureHandler = new VideoStreamCaptureHandler("/home/pi/videos", ".avi"); + + using (var vidEncoder = new MMALVideoEncoder(vidCaptureHandler, 10, 25)) + using (var imgEncoder = new MMALImageEncoder(imgCaptureHandler)) + { + //Create our component pipeline. + cam + .AddEncoder(imgEncoder, cam.Camera.StillPort) + .CreatePreviewComponent(new MMALVideoRenderer()) + .ConfigureCamera(); + + //Record video for 1 minute, using segmented video record to split into multiple files every 30 seconds. + //await cam.TakeVideo(cam.Camera.VideoPort, DateTime.Now.AddMinutes(1), new Split { Mode = TimelapseMode.Second, Value = 30 }); + + //Take multiple pictures every 5 seconds for 1 minute as a timelapse. + //await cam.TakePictureTimelapse(cam.Camera.StillPort, cam.Camera.StillPort, new Timelapse { Mode = TimelapseMode.Second, Value = 5, Timeout = DateTime.Now.AddMinutes(1) }); + + //Take a single picture on the camera's still port using the encoder connected to the still port + await cam.TakePicture(cam.Camera.StillPort, cam.Camera.StillPort, useExif: false); + + //Processes the list of images you've taken with the *ImageStreamCaptureHandler* class into a video + //imgCaptureHandler.ImagesToVideo("/home/pi/videos", 2); + } + + /* + * Exiting the using statement will cleanly remove the encoders from the camera, + * allowing us to create a new one for further camera activity. + */ + + //Here we are changing the image encoder being used by the camera's still port by replacing it with a Bitmap encoder. + /*using (var imgEncoder = new MMALImageEncoder(new ImageStreamCaptureHandler("/home/pi/images/", "bmp"), MMALEncoding.MMAL_ENCODING_BMP, 90)) + { + cam.AddEncoder(imgEncoder, cam.Camera.StillPort) + .CreatePreviewComponent(new MMALNullSinkComponent()) + .ConfigureCamera(); + + await cam.TakePicture(cam.Camera.StillPort, cam.Camera.StillPort); + }*/ + + /*var ffmpegCaptureHandler = FFmpegCaptureHandler.RTMPStreamer("mystream", "rtmp://192.168.1.91:6767/live"); + + using (var vidEncoder = new MMALVideoEncoder(ffmpegCaptureHandler, 40, 15)) + { + cam.AddEncoder(vidEncoder, cam.Camera.VideoPort) + .CreatePreviewComponent(new MMALVideoRenderer()) + .ConfigureCamera(); + + /* + * Stream video for 1 minute via RTMP using the *FFmpegCaptureHandler* class. + * Note: FFmpeg must be installed for this method to work correctly and an appropriate RTMP server running such as https://github.com/arut/nginx-rtmp-module + */ + // await cam.TakeVideo(cam.Camera.VideoPort, DateTime.Now.AddMinutes(1)); + //} + + //Once we're finished with the camera and will *not* use it again, cleanup any unmanaged resources. + cam.Cleanup(); + }); + + } + } +} diff --git a/MMALSharpCoreExample/paket.references b/MMALSharpCoreExample/paket.references new file mode 100644 index 00000000..6b3329a1 --- /dev/null +++ b/MMALSharpCoreExample/paket.references @@ -0,0 +1,3 @@ +group NetStandard +Nito.AsyncEx +Microsoft.CSharp \ No newline at end of file diff --git a/MMALSharpExample/MMALSharpExample.csproj b/MMALSharpExample/MMALSharpExample.csproj index 7be0735e..afdeba59 100644 --- a/MMALSharpExample/MMALSharpExample.csproj +++ b/MMALSharpExample/MMALSharpExample.csproj @@ -80,17 +80,17 @@ - ..\packages\Microsoft.Bcl\lib\net40\System.IO.dll + ..\packages\netframework\Microsoft.Bcl\lib\net40\System.IO.dll True True - ..\packages\Microsoft.Bcl\lib\net40\System.Runtime.dll + ..\packages\netframework\Microsoft.Bcl\lib\net40\System.Runtime.dll True True - ..\packages\Microsoft.Bcl\lib\net40\System.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl\lib\net40\System.Threading.Tasks.dll True True @@ -99,17 +99,17 @@ - ..\packages\Microsoft.Bcl\lib\portable-net40+sl4+win8\System.IO.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+sl4+win8\System.IO.dll True True - ..\packages\Microsoft.Bcl\lib\portable-net40+sl4+win8\System.Runtime.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+sl4+win8\System.Runtime.dll True True - ..\packages\Microsoft.Bcl\lib\portable-net40+sl4+win8\System.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+sl4+win8\System.Threading.Tasks.dll True True @@ -118,17 +118,17 @@ - ..\packages\Microsoft.Bcl\lib\portable-net40+sl4+win8+wp71+wpa81\System.IO.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+sl4+win8+wp71+wpa81\System.IO.dll True True - ..\packages\Microsoft.Bcl\lib\portable-net40+sl4+win8+wp71+wpa81\System.Runtime.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+sl4+win8+wp71+wpa81\System.Runtime.dll True True - ..\packages\Microsoft.Bcl\lib\portable-net40+sl4+win8+wp71+wpa81\System.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+sl4+win8+wp71+wpa81\System.Threading.Tasks.dll True True @@ -137,17 +137,17 @@ - ..\packages\Microsoft.Bcl\lib\portable-net40+sl4+win8+wp8+wpa81\System.IO.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+sl4+win8+wp8+wpa81\System.IO.dll True True - ..\packages\Microsoft.Bcl\lib\portable-net40+sl4+win8+wp8+wpa81\System.Runtime.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+sl4+win8+wp8+wpa81\System.Runtime.dll True True - ..\packages\Microsoft.Bcl\lib\portable-net40+sl4+win8+wp8+wpa81\System.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+sl4+win8+wp8+wpa81\System.Threading.Tasks.dll True True @@ -156,17 +156,17 @@ - ..\packages\Microsoft.Bcl\lib\portable-net40+sl5+win8+wp8+wpa81\System.IO.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+sl5+win8+wp8+wpa81\System.IO.dll True True - ..\packages\Microsoft.Bcl\lib\portable-net40+sl5+win8+wp8+wpa81\System.Runtime.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+sl5+win8+wp8+wpa81\System.Runtime.dll True True - ..\packages\Microsoft.Bcl\lib\portable-net40+sl5+win8+wp8+wpa81\System.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+sl5+win8+wp8+wpa81\System.Threading.Tasks.dll True True @@ -175,17 +175,17 @@ - ..\packages\Microsoft.Bcl\lib\portable-net40+win8\System.IO.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+win8\System.IO.dll True True - ..\packages\Microsoft.Bcl\lib\portable-net40+win8\System.Runtime.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+win8\System.Runtime.dll True True - ..\packages\Microsoft.Bcl\lib\portable-net40+win8\System.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+win8\System.Threading.Tasks.dll True True @@ -194,17 +194,17 @@ - ..\packages\Microsoft.Bcl\lib\portable-net40+win8+wp8+wpa81\System.IO.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+win8+wp8+wpa81\System.IO.dll True True - ..\packages\Microsoft.Bcl\lib\portable-net40+win8+wp8+wpa81\System.Runtime.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+win8+wp8+wpa81\System.Runtime.dll True True - ..\packages\Microsoft.Bcl\lib\portable-net40+win8+wp8+wpa81\System.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl\lib\portable-net40+win8+wp8+wpa81\System.Threading.Tasks.dll True True @@ -213,17 +213,17 @@ - ..\packages\Microsoft.Bcl\lib\sl5\System.IO.dll + ..\packages\netframework\Microsoft.Bcl\lib\sl5\System.IO.dll True True - ..\packages\Microsoft.Bcl\lib\sl5\System.Runtime.dll + ..\packages\netframework\Microsoft.Bcl\lib\sl5\System.Runtime.dll True True - ..\packages\Microsoft.Bcl\lib\sl5\System.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl\lib\sl5\System.Threading.Tasks.dll True True @@ -237,17 +237,17 @@ True - ..\packages\Microsoft.Bcl.Async\lib\net40\Microsoft.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl.Async\lib\net40\Microsoft.Threading.Tasks.dll True True - ..\packages\Microsoft.Bcl.Async\lib\net40\Microsoft.Threading.Tasks.Extensions.dll + ..\packages\netframework\Microsoft.Bcl.Async\lib\net40\Microsoft.Threading.Tasks.Extensions.dll True True - ..\packages\Microsoft.Bcl.Async\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll + ..\packages\netframework\Microsoft.Bcl.Async\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll True True @@ -256,12 +256,12 @@ - ..\packages\Microsoft.Bcl.Async\lib\portable-net40+sl4+win8+wp71+wpa81\Microsoft.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl.Async\lib\portable-net40+sl4+win8+wp71+wpa81\Microsoft.Threading.Tasks.dll True True - ..\packages\Microsoft.Bcl.Async\lib\portable-net40+sl4+win8+wp71+wpa81\Microsoft.Threading.Tasks.Extensions.dll + ..\packages\netframework\Microsoft.Bcl.Async\lib\portable-net40+sl4+win8+wp71+wpa81\Microsoft.Threading.Tasks.Extensions.dll True True @@ -270,12 +270,12 @@ - ..\packages\Microsoft.Bcl.Async\lib\portable-net45+win8+wp8+wpa81\Microsoft.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl.Async\lib\portable-net45+win8+wp8+wpa81\Microsoft.Threading.Tasks.dll True True - ..\packages\Microsoft.Bcl.Async\lib\portable-net45+win8+wp8+wpa81\Microsoft.Threading.Tasks.Extensions.dll + ..\packages\netframework\Microsoft.Bcl.Async\lib\portable-net45+win8+wp8+wpa81\Microsoft.Threading.Tasks.Extensions.dll True True @@ -284,12 +284,12 @@ - ..\packages\Microsoft.Bcl.Async\lib\portable-net45+win8+wpa81\Microsoft.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl.Async\lib\portable-net45+win8+wpa81\Microsoft.Threading.Tasks.dll True True - ..\packages\Microsoft.Bcl.Async\lib\portable-net45+win8+wpa81\Microsoft.Threading.Tasks.Extensions.dll + ..\packages\netframework\Microsoft.Bcl.Async\lib\portable-net45+win8+wpa81\Microsoft.Threading.Tasks.Extensions.dll True True @@ -298,17 +298,17 @@ - ..\packages\Microsoft.Bcl.Async\lib\sl4\Microsoft.Threading.Tasks.dll + ..\packages\netframework\Microsoft.Bcl.Async\lib\sl4\Microsoft.Threading.Tasks.dll True True - ..\packages\Microsoft.Bcl.Async\lib\sl4\Microsoft.Threading.Tasks.Extensions.dll + ..\packages\netframework\Microsoft.Bcl.Async\lib\sl4\Microsoft.Threading.Tasks.Extensions.dll True True - ..\packages\Microsoft.Bcl.Async\lib\sl4\Microsoft.Threading.Tasks.Extensions.Silverlight.dll + ..\packages\netframework\Microsoft.Bcl.Async\lib\sl4\Microsoft.Threading.Tasks.Extensions.Silverlight.dll True True @@ -319,17 +319,17 @@ - ..\packages\Nito.AsyncEx\lib\MonoAndroid\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\MonoAndroid\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\MonoAndroid\Nito.AsyncEx.Concurrent.dll + ..\packages\netframework\Nito.AsyncEx\lib\MonoAndroid\Nito.AsyncEx.Concurrent.dll True True - ..\packages\Nito.AsyncEx\lib\MonoAndroid\Nito.AsyncEx.Enlightenment.dll + ..\packages\netframework\Nito.AsyncEx\lib\MonoAndroid\Nito.AsyncEx.Enlightenment.dll True True @@ -338,17 +338,17 @@ - ..\packages\Nito.AsyncEx\lib\net40\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\net40\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\net40\Nito.AsyncEx.Concurrent.dll + ..\packages\netframework\Nito.AsyncEx\lib\net40\Nito.AsyncEx.Concurrent.dll True True - ..\packages\Nito.AsyncEx\lib\net40\Nito.AsyncEx.Enlightenment.dll + ..\packages\netframework\Nito.AsyncEx\lib\net40\Nito.AsyncEx.Enlightenment.dll True True @@ -357,17 +357,17 @@ - ..\packages\Nito.AsyncEx\lib\net45\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\net45\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\net45\Nito.AsyncEx.Concurrent.dll + ..\packages\netframework\Nito.AsyncEx\lib\net45\Nito.AsyncEx.Concurrent.dll True True - ..\packages\Nito.AsyncEx\lib\net45\Nito.AsyncEx.Enlightenment.dll + ..\packages\netframework\Nito.AsyncEx\lib\net45\Nito.AsyncEx.Enlightenment.dll True True @@ -376,17 +376,17 @@ - ..\packages\Nito.AsyncEx\lib\netcore45\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\netcore45\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\netcore45\Nito.AsyncEx.Concurrent.dll + ..\packages\netframework\Nito.AsyncEx\lib\netcore45\Nito.AsyncEx.Concurrent.dll True True - ..\packages\Nito.AsyncEx\lib\netcore45\Nito.AsyncEx.Enlightenment.dll + ..\packages\netframework\Nito.AsyncEx\lib\netcore45\Nito.AsyncEx.Enlightenment.dll True True @@ -395,12 +395,12 @@ - ..\packages\Nito.AsyncEx\lib\portable-net40+netcore45\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\portable-net40+netcore45\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\portable-net40+netcore45\Nito.AsyncEx.Concurrent.dll + ..\packages\netframework\Nito.AsyncEx\lib\portable-net40+netcore45\Nito.AsyncEx.Concurrent.dll True True @@ -409,7 +409,7 @@ - ..\packages\Nito.AsyncEx\lib\portable-net40+netcore45+sl4+wp71\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\portable-net40+netcore45+sl4+wp71\Nito.AsyncEx.dll True True @@ -418,7 +418,7 @@ - ..\packages\Nito.AsyncEx\lib\portable-net40+netcore45+sl5+wp8+wpa81\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\portable-net40+netcore45+sl5+wp8+wpa81\Nito.AsyncEx.dll True True @@ -427,7 +427,7 @@ - ..\packages\Nito.AsyncEx\lib\portable-net45+netcore45+wp8+wpa81\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\portable-net45+netcore45+wp8+wpa81\Nito.AsyncEx.dll True True @@ -436,12 +436,12 @@ - ..\packages\Nito.AsyncEx\lib\portable-net45+netcore45+wpa81\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\portable-net45+netcore45+wpa81\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\portable-net45+netcore45+wpa81\Nito.AsyncEx.Concurrent.dll + ..\packages\netframework\Nito.AsyncEx\lib\portable-net45+netcore45+wpa81\Nito.AsyncEx.Concurrent.dll True True @@ -450,12 +450,12 @@ - ..\packages\Nito.AsyncEx\lib\sl4\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\sl4\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\sl4\Nito.AsyncEx.Enlightenment.dll + ..\packages\netframework\Nito.AsyncEx\lib\sl4\Nito.AsyncEx.Enlightenment.dll True True @@ -464,12 +464,12 @@ - ..\packages\Nito.AsyncEx\lib\sl5\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\sl5\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\sl5\Nito.AsyncEx.Enlightenment.dll + ..\packages\netframework\Nito.AsyncEx\lib\sl5\Nito.AsyncEx.Enlightenment.dll True True @@ -478,12 +478,12 @@ - ..\packages\Nito.AsyncEx\lib\wp71\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\wp71\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\wp71\Nito.AsyncEx.Enlightenment.dll + ..\packages\netframework\Nito.AsyncEx\lib\wp71\Nito.AsyncEx.Enlightenment.dll True True @@ -492,12 +492,12 @@ - ..\packages\Nito.AsyncEx\lib\wp8\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\wp8\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\wp8\Nito.AsyncEx.Enlightenment.dll + ..\packages\netframework\Nito.AsyncEx\lib\wp8\Nito.AsyncEx.Enlightenment.dll True True @@ -506,17 +506,17 @@ - ..\packages\Nito.AsyncEx\lib\wpa81\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\wpa81\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\wpa81\Nito.AsyncEx.Concurrent.dll + ..\packages\netframework\Nito.AsyncEx\lib\wpa81\Nito.AsyncEx.Concurrent.dll True True - ..\packages\Nito.AsyncEx\lib\wpa81\Nito.AsyncEx.Enlightenment.dll + ..\packages\netframework\Nito.AsyncEx\lib\wpa81\Nito.AsyncEx.Enlightenment.dll True True @@ -525,17 +525,17 @@ - ..\packages\Nito.AsyncEx\lib\Xamarin.iOS10\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\Xamarin.iOS10\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\Xamarin.iOS10\Nito.AsyncEx.Concurrent.dll + ..\packages\netframework\Nito.AsyncEx\lib\Xamarin.iOS10\Nito.AsyncEx.Concurrent.dll True True - ..\packages\Nito.AsyncEx\lib\Xamarin.iOS10\Nito.AsyncEx.Enlightenment.dll + ..\packages\netframework\Nito.AsyncEx\lib\Xamarin.iOS10\Nito.AsyncEx.Enlightenment.dll True True @@ -544,17 +544,17 @@ - ..\packages\Nito.AsyncEx\lib\Xamarin.Mac20\Nito.AsyncEx.dll + ..\packages\netframework\Nito.AsyncEx\lib\Xamarin.Mac20\Nito.AsyncEx.dll True True - ..\packages\Nito.AsyncEx\lib\Xamarin.Mac20\Nito.AsyncEx.Concurrent.dll + ..\packages\netframework\Nito.AsyncEx\lib\Xamarin.Mac20\Nito.AsyncEx.Concurrent.dll True True - ..\packages\Nito.AsyncEx\lib\Xamarin.Mac20\Nito.AsyncEx.Enlightenment.dll + ..\packages\netframework\Nito.AsyncEx\lib\Xamarin.Mac20\Nito.AsyncEx.Enlightenment.dll True True diff --git a/MMALSharpExample/Program.cs b/MMALSharpExample/Program.cs index a7041912..7ca835c8 100644 --- a/MMALSharpExample/Program.cs +++ b/MMALSharpExample/Program.cs @@ -66,7 +66,7 @@ static void Main(string[] args) await cam.TakePicture(cam.Camera.StillPort, cam.Camera.StillPort); } - var ffmpegCaptureHandler = new FFmpegCaptureHandler("mystream", "rtmp://192.168.1.91:6767/live", 15); + var ffmpegCaptureHandler = FFmpegCaptureHandler.RTMPStreamer("mystream", "rtmp://192.168.1.91:6767/live"); using (var vidEncoder = new MMALVideoEncoder(ffmpegCaptureHandler, 40, 15)) { diff --git a/MMALSharpExample/paket.references b/MMALSharpExample/paket.references index 326691c7..d385cfb9 100644 --- a/MMALSharpExample/paket.references +++ b/MMALSharpExample/paket.references @@ -1 +1,2 @@ +group NetFramework Nito.AsyncEx \ No newline at end of file diff --git a/paket.dependencies b/paket.dependencies index 86081b36..75c4ed90 100644 --- a/paket.dependencies +++ b/paket.dependencies @@ -1,5 +1,16 @@ +// NuGet packages + +group NetFramework +source https://www.nuget.org/api/v2 + nuget FAKE ~> 4.50.0 + nuget Nito.AsyncEx ~> 3.0.1 + +group NetStandard source https://www.nuget.org/api/v2 +source https://dotnet.myget.org/F/dotnet-core/api/v3/index.json + nuget FAKE ~> 4.50.0 + nuget Nito.AsyncEx ~> 5.0.0-pre-02 + nuget Microsoft.CSharp ~> 4.3.0 + nuget System.Diagnostics.Process ~> 4.3.0 + -// NuGet packages -nuget FAKE ~> 4.50.0 -nuget Nito.AsyncEx ~> 3.0.1 \ No newline at end of file diff --git a/paket.lock b/paket.lock index ea504c1d..92871807 100644 --- a/paket.lock +++ b/paket.lock @@ -1,3 +1,6 @@ + + +GROUP NetFramework NUGET remote: https://www.nuget.org/api/v2 FAKE (4.50.1) @@ -8,3 +11,624 @@ NUGET Microsoft.Bcl.Build (1.0.21) - import_targets: false, framework: net40, portable-net40+win80+sl40+wp71, portable-net40+win80+sl50+wp80+wpa81, sl50 Nito.AsyncEx (3.0.1) Microsoft.Bcl.Async (>= 1.0.168) - framework: net40, portable-net40+win80+sl40+wp71, portable-net40+win80+sl50+wp80+wpa81, sl50 + +GROUP NetStandard +NUGET + remote: https://www.nuget.org/api/v2 + FAKE (4.50.1) + Microsoft.CSharp (4.3) + System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Dynamic.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Linq (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Linq.Expressions (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.ObjectModel (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Reflection.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Reflection.Primitives (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Reflection.TypeExtensions (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13 + Microsoft.NETCore.Platforms (1.1) - framework: net46, >= net46, dnxcore50, >= netstandard10, netstandard12, netstandard13, netstandard14 + Microsoft.NETCore.Targets (1.1) - framework: net46, >= net46, dnxcore50, >= netstandard10, netstandard12, netstandard13, netstandard14 + Microsoft.Win32.Primitives (4.3) - framework: >= net46, >= netstandard13 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + Microsoft.Win32.Registry (4.3) - framework: >= netstandard14 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 + System.Collections (>= 4.3) - framework: >= netstandard13 + System.Globalization (>= 4.3) - framework: >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13 + System.Runtime.Handles (>= 4.3) - framework: >= netstandard13 + System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13 + NETStandard.Library (1.6.1) - framework: >= net46, >= netstandard13 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard10 + Microsoft.Win32.Primitives (>= 4.3) - framework: >= net46, >= netstandard13 + System.AppContext (>= 4.3) - framework: >= net46, >= netstandard13 + System.Collections (>= 4.3) - framework: >= netstandard10 + System.Collections.Concurrent (>= 4.3) - framework: >= net45, >= netstandard11 + System.Console (>= 4.3) - framework: >= net46, >= netstandard13 + System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard10 + System.Diagnostics.Tools (>= 4.3) - framework: >= netstandard10 + System.Diagnostics.Tracing (>= 4.3) - framework: >= net45, >= netstandard11 + System.Globalization (>= 4.3) - framework: >= netstandard10 + System.Globalization.Calendars (>= 4.3) - framework: >= net46, >= netstandard13 + System.IO (>= 4.3) - framework: >= netstandard10 + System.IO.Compression (>= 4.3) - framework: >= net45, >= netstandard11 + System.IO.Compression.ZipFile (>= 4.3) - framework: >= net46, >= netstandard13 + System.IO.FileSystem (>= 4.3) - framework: >= net46, >= netstandard13 + System.IO.FileSystem.Primitives (>= 4.3) - framework: >= net46, >= netstandard13 + System.Linq (>= 4.3) - framework: >= netstandard10 + System.Linq.Expressions (>= 4.3) - framework: >= netstandard10 + System.Net.Http (>= 4.3) - framework: >= net45, >= netstandard11 + System.Net.Primitives (>= 4.3) - framework: >= netstandard10 + System.Net.Sockets (>= 4.3) - framework: >= net46, >= netstandard13 + System.ObjectModel (>= 4.3) - framework: >= netstandard10 + System.Reflection (>= 4.3) - framework: >= netstandard10 + System.Reflection.Extensions (>= 4.3) - framework: >= netstandard10 + System.Reflection.Primitives (>= 4.3) - framework: >= netstandard10 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard10 + System.Runtime (>= 4.3) - framework: >= netstandard10 + System.Runtime.Extensions (>= 4.3) - framework: >= netstandard10 + System.Runtime.Handles (>= 4.3) - framework: >= net46, >= netstandard13 + System.Runtime.InteropServices (>= 4.3) - framework: >= net45, >= netstandard11 + System.Runtime.InteropServices.RuntimeInformation (>= 4.3) - framework: >= net45, >= netstandard11 + System.Runtime.Numerics (>= 4.3) - framework: >= net45, >= netstandard11 + System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= net46, >= netstandard13 + System.Security.Cryptography.Encoding (>= 4.3) - framework: >= net46, >= netstandard13 + System.Security.Cryptography.Primitives (>= 4.3) - framework: >= net46, >= netstandard13 + System.Security.Cryptography.X509Certificates (>= 4.3) - framework: >= net46, >= netstandard13 + System.Text.Encoding (>= 4.3) - framework: >= netstandard10 + System.Text.Encoding.Extensions (>= 4.3) - framework: >= netstandard10 + System.Text.RegularExpressions (>= 4.3) - framework: >= netstandard10 + System.Threading (>= 4.3) - framework: >= netstandard10 + System.Threading.Tasks (>= 4.3) - framework: >= netstandard10 + System.Threading.Timer (>= 4.3) - framework: >= net451, >= netstandard12 + System.Xml.ReaderWriter (>= 4.3) - framework: >= netstandard10 + System.Xml.XDocument (>= 4.3) - framework: >= netstandard10 + Nito.AsyncEx (5.0.0-pre-02) + Nito.AsyncEx.Context (>= 5.0.0-pre-02) + Nito.AsyncEx.Coordination (>= 5.0.0-pre-02) + Nito.AsyncEx.Interop.WaitHandles (>= 5.0.0-pre-02) + Nito.AsyncEx.Oop (>= 5.0.0-pre-02) + Nito.AsyncEx.Tasks (>= 5.0.0-pre-02) + Nito.Cancellation (>= 1.0.1) + Nito.AsyncEx.Context (5.0.0-pre-02) + NETStandard.Library (>= 1.6.1) - framework: >= net46, >= netstandard13 + Nito.AsyncEx.Tasks (>= 5.0.0-pre-02) - framework: >= net46, >= netstandard13 + Nito.AsyncEx.Coordination (5.0.0-pre-02) + NETStandard.Library (>= 1.6.1) - framework: >= net46, >= netstandard13 + Nito.AsyncEx.Tasks (>= 5.0.0-pre-02) - framework: >= net46, >= netstandard13 + Nito.Collections.Deque (>= 1.0) - framework: >= net46, >= netstandard13 + Nito.Disposables (>= 1.1) - framework: >= net46, >= netstandard13 + Nito.AsyncEx.Interop.WaitHandles (5.0.0-pre-02) + NETStandard.Library (>= 1.6.1) - framework: >= net46, >= netstandard13 + Nito.AsyncEx.Tasks (>= 5.0.0-pre-02) - framework: >= net46, >= netstandard13 + System.Threading.ThreadPool (>= 4.3) - framework: >= net46, >= netstandard13 + Nito.AsyncEx.Oop (5.0.0-pre-02) + NETStandard.Library (>= 1.6.1) - framework: >= net46, >= netstandard13 + Nito.AsyncEx.Coordination (>= 5.0.0-pre-02) - framework: >= net46, >= netstandard13 + Nito.AsyncEx.Tasks (5.0.0-pre-02) + NETStandard.Library (>= 1.6.1) - framework: >= net46, >= netstandard13 + Nito.Disposables (>= 1.1) - framework: >= net46, >= netstandard13 + Nito.Cancellation (1.0.1) + Nito.Disposables (>= 1.0) - framework: >= netstandard10, portable45-net45+win8+wp8+wpa81 + System.Collections (>= 4.0.11) - framework: >= netstandard10 + System.Runtime (>= 4.1) - framework: >= netstandard10 + System.Threading.Tasks (>= 4.0.11) - framework: >= netstandard10 + Nito.Collections.Deque (1.0) - framework: >= net46, >= netstandard13 + System.Collections (>= 4.0.11) - framework: >= netstandard10 + System.Diagnostics.Debug (>= 4.0.11) - framework: >= netstandard10 + System.Runtime (>= 4.1) - framework: >= netstandard10 + Nito.Disposables (1.1) - framework: >= net46, >= netstandard10, portable45-net45+win8+wp8+wpa81 + System.Collections.Immutable (>= 1.2) - framework: >= netstandard10, portable45-net45+win8+wp8+wpa81 + System.Threading (>= 4.0.11) - framework: >= netstandard10 + runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: net46, >= net46, >= netstandard13, netstandard14 + runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: net46, >= net46, >= netstandard13, netstandard14 + runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: net46, >= net46, >= netstandard13, netstandard14 + runtime.native.System (4.3) - framework: >= net46, >= netstandard13 + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + runtime.native.System.IO.Compression (4.3) - framework: >= net46, >= netstandard13 + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + runtime.native.System.Net.Http (4.3) - framework: >= net46, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) + Microsoft.NETCore.Targets (>= 1.1) + runtime.native.System.Security.Cryptography.Apple (4.3) - framework: net46, >= net46, >= netstandard16 + runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (>= 4.3) + runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: net46, >= net46, >= netstandard13, netstandard14 + runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) + runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) + runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) + runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) + runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) + runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) + runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) + runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) + runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) + runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) + runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: net46, >= net46, >= netstandard13, netstandard14 + runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: net46, >= net46, >= netstandard13, netstandard14 + runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (4.3) - framework: net46, >= net46, >= netstandard16 + runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: net46, >= net46, >= netstandard13, netstandard14 + runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: net46, >= net46, >= netstandard13, netstandard14 + runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: net46, >= net46, >= netstandard13, netstandard14 + runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: net46, >= net46, >= netstandard13, netstandard14 + runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: net46, >= net46, >= netstandard13, netstandard14 + System.AppContext (4.3) - framework: >= net46, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16 + System.Buffers (4.3) - framework: >= net46, >= netstandard13 + System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard11 + System.Diagnostics.Tracing (>= 4.3) - framework: >= netstandard11 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard11 + System.Runtime (>= 4.3) - framework: >= netstandard11 + System.Threading (>= 4.3) - framework: >= netstandard11 + System.Collections (4.3) - framework: net46, >= net46, dnxcore50, >= netstandard10, netstandard13, netstandard14 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Collections.Concurrent (4.3) - framework: net46, >= net46, >= netstandard13, netstandard14 + System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Diagnostics.Tracing (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Reflection (>= 4.3) - framework: >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13 + System.Collections.Immutable (1.3.1) - framework: >= net46, >= netstandard10, portable45-net45+win8+wp8+wpa81 + System.Collections (>= 4.3) - framework: >= netstandard10 + System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard10 + System.Globalization (>= 4.3) - framework: >= netstandard10 + System.Linq (>= 4.3) - framework: >= netstandard10 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard10 + System.Runtime (>= 4.3) - framework: >= netstandard10 + System.Runtime.Extensions (>= 4.3) - framework: >= netstandard10 + System.Threading (>= 4.3) - framework: >= netstandard10 + System.Console (4.3) - framework: >= net46, >= netstandard13 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13 + System.IO (>= 4.3) - framework: >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Text.Encoding (>= 4.3) - framework: >= netstandard13 + System.Diagnostics.Contracts (4.3) - framework: dnxcore50 + System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10 + System.Diagnostics.Debug (4.3) - framework: net46, >= net46, dnxcore50, >= netstandard10, netstandard14 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Diagnostics.DiagnosticSource (4.3) - framework: >= net46, netstandard13, >= netstandard16 + System.Collections (>= 4.3) - framework: netstandard11, >= netstandard13 + System.Diagnostics.Tracing (>= 4.3) - framework: netstandard11, >= netstandard13 + System.Reflection (>= 4.3) - framework: netstandard11, >= netstandard13 + System.Runtime (>= 4.3) - framework: netstandard11, >= netstandard13 + System.Threading (>= 4.3) - framework: netstandard11, >= netstandard13 + System.Diagnostics.Process (4.3) + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard14 + Microsoft.Win32.Primitives (>= 4.3) - framework: >= netstandard14 + Microsoft.Win32.Registry (>= 4.3) - framework: >= netstandard14 + runtime.native.System (>= 4.3) - framework: >= netstandard14 + System.Collections (>= 4.3) - framework: >= netstandard14 + System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard14 + System.Globalization (>= 4.3) - framework: >= netstandard14 + System.IO (>= 4.3) - framework: >= netstandard13 + System.IO.FileSystem (>= 4.3) - framework: >= netstandard14 + System.IO.FileSystem.Primitives (>= 4.3) - framework: >= netstandard14 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard14 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: >= netstandard14 + System.Runtime.Handles (>= 4.3) - framework: >= netstandard13 + System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard14 + System.Text.Encoding (>= 4.3) - framework: >= netstandard13 + System.Text.Encoding.Extensions (>= 4.3) - framework: >= netstandard14 + System.Threading (>= 4.3) - framework: >= netstandard14 + System.Threading.Tasks (>= 4.3) - framework: >= netstandard14 + System.Threading.Thread (>= 4.3) - framework: >= netstandard14 + System.Threading.ThreadPool (>= 4.3) - framework: >= netstandard14 + System.Diagnostics.Tools (4.3) - framework: >= net46, >= netstandard13 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10 + System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10 + System.Diagnostics.Tracing (4.3) - framework: net46, >= net46, >= netstandard13, netstandard14 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15 + System.Dynamic.Runtime (4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Globalization (>= 4.3) - framework: dnxcore50 + System.Linq (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Linq.Expressions (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.ObjectModel (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Reflection (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Reflection.Emit (>= 4.3) - framework: >= netstandard13 + System.Reflection.Emit.ILGeneration (>= 4.3) - framework: >= netstandard13 + System.Reflection.Primitives (>= 4.3) - framework: >= netstandard13 + System.Reflection.TypeExtensions (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Globalization (4.3) - framework: net46, >= net46, dnxcore50, >= netstandard10, netstandard14 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Globalization.Calendars (4.3) - framework: >= net46, >= netstandard13 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13 + System.Globalization (>= 4.3) - framework: >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Globalization.Extensions (4.3) - framework: >= net46, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 + System.Globalization (>= 4.3) - framework: >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13 + System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13 + System.IO (4.3) - framework: net46, >= net46, dnxcore50, netstandard10, >= netstandard13, netstandard14 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + System.IO.Compression (4.3) - framework: >= net46, >= netstandard13 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 + runtime.native.System (>= 4.3) - framework: >= netstandard13 + runtime.native.System.IO.Compression (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Buffers (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.IO (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime.Handles (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13 + System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Threading.Tasks (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.IO.Compression.ZipFile (4.3) - framework: >= net46, >= netstandard13 + System.Buffers (>= 4.3) - framework: >= netstandard13 + System.IO (>= 4.3) - framework: >= netstandard13 + System.IO.Compression (>= 4.3) - framework: >= netstandard13 + System.IO.FileSystem (>= 4.3) - framework: >= netstandard13 + System.IO.FileSystem.Primitives (>= 4.3) - framework: >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13 + System.Text.Encoding (>= 4.3) - framework: >= netstandard13 + System.IO.FileSystem (4.3) - framework: >= net46, >= netstandard13 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13 + System.IO (>= 4.3) - framework: >= netstandard13 + System.IO.FileSystem.Primitives (>= 4.3) - framework: >= net46, >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Runtime.Handles (>= 4.3) - framework: >= netstandard13 + System.Text.Encoding (>= 4.3) - framework: >= netstandard13 + System.Threading.Tasks (>= 4.3) - framework: >= netstandard13 + System.IO.FileSystem.Primitives (4.3) - framework: >= net46, >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Linq (4.3) - framework: net46, >= net46, dnxcore50, >= netstandard10, netstandard14 + System.Collections (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard16 + System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard16 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Linq.Expressions (4.3) - framework: >= net46, dnxcore50, netstandard10, >= netstandard13 + System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.IO (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Linq (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.ObjectModel (>= 4.3) - framework: >= netstandard16 + System.Reflection (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard16 + System.Reflection.Emit (>= 4.3) - framework: >= netstandard16 + System.Reflection.Emit.ILGeneration (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Reflection.Emit.Lightweight (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Reflection.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Reflection.Primitives (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Reflection.TypeExtensions (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard16 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Net.Http (4.3.1) - framework: >= net46, >= netstandard13 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard13, >= netstandard16 + Microsoft.Win32.Primitives (>= 4.3) - framework: netstandard13 + runtime.native.System (>= 4.3) - framework: >= netstandard16 + runtime.native.System.Net.Http (>= 4.3) - framework: >= netstandard16 + runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16 + System.Collections (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16 + System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16 + System.Diagnostics.DiagnosticSource (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16 + System.Diagnostics.Tracing (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16 + System.Globalization (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16 + System.Globalization.Extensions (>= 4.3) - framework: >= netstandard16 + System.IO (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16 + System.IO.Compression (>= 4.3) - framework: netstandard13 + System.IO.FileSystem (>= 4.3) - framework: >= netstandard16 + System.Net.Primitives (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16 + System.Runtime.Handles (>= 4.3) - framework: netstandard13, >= netstandard16 + System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16 + System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= netstandard16 + System.Security.Cryptography.Encoding (>= 4.3) - framework: >= netstandard16 + System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16 + System.Security.Cryptography.Primitives (>= 4.3) - framework: >= netstandard16 + System.Security.Cryptography.X509Certificates (>= 4.3) - framework: >= net46, dnxcore50, netstandard13, >= netstandard16 + System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16 + System.Threading (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16 + System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16 + System.Net.Primitives (4.3) - framework: >= net46, >= netstandard13 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13 + System.Runtime.Handles (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Net.Sockets (4.3) - framework: >= net46, >= netstandard13 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13 + System.IO (>= 4.3) - framework: >= netstandard13 + System.Net.Primitives (>= 4.3) - framework: >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Threading.Tasks (>= 4.3) - framework: >= netstandard13 + System.ObjectModel (4.3) - framework: >= net46, dnxcore50, netstandard10, >= netstandard13 + System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Reflection (4.3) - framework: net46, >= net46, dnxcore50, >= netstandard10, netstandard13, netstandard14 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + System.IO (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + System.Reflection.Primitives (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + System.Reflection.Emit (4.3) - framework: >= net46, >= netstandard13 + System.IO (>= 4.3) - framework: >= netstandard11 + System.Reflection (>= 4.3) - framework: >= netstandard11 + System.Reflection.Emit.ILGeneration (>= 4.3) - framework: >= netstandard11 + System.Reflection.Primitives (>= 4.3) - framework: >= netstandard11 + System.Runtime (>= 4.3) - framework: >= netstandard11 + System.Reflection.Emit.ILGeneration (4.3) - framework: >= net46, dnxcore50, >= netstandard13 + System.Reflection (>= 4.3) - framework: >= netstandard10 + System.Reflection.Primitives (>= 4.3) - framework: >= netstandard10 + System.Runtime (>= 4.3) - framework: >= netstandard10 + System.Reflection.Emit.Lightweight (4.3) - framework: >= net46, dnxcore50, >= netstandard16 + System.Reflection (>= 4.3) - framework: >= netstandard10 + System.Reflection.Emit.ILGeneration (>= 4.3) - framework: >= netstandard10 + System.Reflection.Primitives (>= 4.3) - framework: >= netstandard10 + System.Runtime (>= 4.3) - framework: >= netstandard10 + System.Reflection.Extensions (4.3) - framework: >= net46, dnxcore50, >= netstandard13 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10 + System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard10 + System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10 + System.Reflection.Primitives (4.3) - framework: net46, >= net46, dnxcore50, netstandard10, >= netstandard13 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10 + System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10 + System.Reflection.TypeExtensions (4.3) - framework: >= net46, dnxcore50, >= netstandard13 + System.Diagnostics.Contracts (>= 4.3) - framework: dnxcore50 + System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50 + System.Linq (>= 4.3) - framework: dnxcore50 + System.Reflection (>= 4.3) - framework: >= net462, dnxcore50, netstandard13, >= netstandard15 + System.Reflection.Primitives (>= 4.3) - framework: dnxcore50 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard15 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50 + System.Resources.ResourceManager (4.3) - framework: net46, >= net46, dnxcore50, >= netstandard10, netstandard14 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10 + System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard10 + System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard10 + System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10 + System.Runtime (4.3) - framework: net46, >= net46, dnxcore50, >= netstandard10, netstandard13, netstandard14 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard12, netstandard13, >= netstandard15 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard12, netstandard13, >= netstandard15 + System.Runtime.Extensions (4.3) - framework: net46, >= net46, dnxcore50, >= netstandard10, netstandard14 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15 + System.Runtime.Handles (4.3) - framework: net46, >= net46, dnxcore50, >= netstandard13, netstandard14 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Runtime.InteropServices (4.3) - framework: net46, >= net46, dnxcore50, >= netstandard13, netstandard14 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11 + System.Reflection (>= 4.3) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11 + System.Reflection.Primitives (>= 4.3) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11 + System.Runtime (>= 4.3) - framework: net462, >= net463, dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11 + System.Runtime.Handles (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard15, netcore11 + System.Runtime.InteropServices.RuntimeInformation (4.3) - framework: >= net46, >= netstandard13 + runtime.native.System (>= 4.3) - framework: >= netstandard11 + System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard11 + System.Reflection.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard11 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard11 + System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard11 + System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard11 + System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard11 + System.Runtime.Numerics (4.3) - framework: net46, >= net46, >= netstandard13 + System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Security.Cryptography.Algorithms (4.3) - framework: net46, >= net46, >= netstandard13, netstandard14 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard16 + runtime.native.System.Security.Cryptography.Apple (>= 4.3) - framework: >= netstandard16 + runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16 + System.Collections (>= 4.3) - framework: >= netstandard16 + System.IO (>= 4.3) - framework: >= net463, dnxcore50, netstandard13, netstandard14, >= netstandard16 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Runtime (>= 4.3) - framework: >= net463, dnxcore50, netstandard13, netstandard14, >= netstandard16 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Runtime.Handles (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Runtime.Numerics (>= 4.3) - framework: >= netstandard16 + System.Security.Cryptography.Encoding (>= 4.3) - framework: >= net463, dnxcore50, >= netstandard16 + System.Security.Cryptography.Primitives (>= 4.3) - framework: net46, net461, >= net463, dnxcore50, netstandard13, netstandard14, >= netstandard16 + System.Text.Encoding (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Security.Cryptography.Cng (4.3) - framework: >= net46, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: netstandard14, >= netstandard16 + System.IO (>= 4.3) - framework: netstandard13, netstandard14, >= netstandard16 + System.Resources.ResourceManager (>= 4.3) - framework: netstandard14, >= netstandard16 + System.Runtime (>= 4.3) - framework: netstandard13, netstandard14, >= netstandard16 + System.Runtime.Extensions (>= 4.3) - framework: netstandard14, >= netstandard16 + System.Runtime.Handles (>= 4.3) - framework: netstandard13, netstandard14, >= netstandard16 + System.Runtime.InteropServices (>= 4.3) - framework: netstandard14, >= netstandard16 + System.Security.Cryptography.Algorithms (>= 4.3) - framework: net46, net461, >= net463, netstandard13, netstandard14, >= netstandard16 + System.Security.Cryptography.Encoding (>= 4.3) - framework: netstandard14, >= netstandard16 + System.Security.Cryptography.Primitives (>= 4.3) - framework: net46, net461, >= net463, netstandard13, netstandard14, >= netstandard16 + System.Text.Encoding (>= 4.3) - framework: netstandard14, >= netstandard16 + System.Security.Cryptography.Csp (4.3) - framework: >= net46, >= netstandard16 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 + System.IO (>= 4.3) - framework: >= netstandard13 + System.Reflection (>= 4.3) - framework: >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13 + System.Runtime.Handles (>= 4.3) - framework: >= netstandard13 + System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13 + System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= net46, >= netstandard13 + System.Security.Cryptography.Encoding (>= 4.3) - framework: >= netstandard13 + System.Security.Cryptography.Primitives (>= 4.3) - framework: >= net46, >= netstandard13 + System.Text.Encoding (>= 4.3) - framework: >= netstandard13 + System.Threading (>= 4.3) - framework: >= netstandard13 + System.Security.Cryptography.Encoding (4.3) - framework: net46, >= net46, >= netstandard13, netstandard14 + Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13 + runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard13 + System.Collections (>= 4.3) - framework: >= netstandard13 + System.Collections.Concurrent (>= 4.3) - framework: >= netstandard13 + System.Linq (>= 4.3) - framework: >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13 + System.Runtime.Handles (>= 4.3) - framework: >= netstandard13 + System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13 + System.Security.Cryptography.Primitives (>= 4.3) - framework: >= netstandard13 + System.Text.Encoding (>= 4.3) - framework: >= netstandard13 + System.Security.Cryptography.OpenSsl (4.3) - framework: >= net46, >= netstandard16 + runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= net463, >= netstandard16, monoandroid, monotouch, xamarinios, xamarinmac + System.Collections (>= 4.3) - framework: >= netstandard16 + System.IO (>= 4.3) - framework: >= net463, >= netstandard16 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard16 + System.Runtime (>= 4.3) - framework: >= net463, >= netstandard16 + System.Runtime.Extensions (>= 4.3) - framework: >= net463, >= netstandard16 + System.Runtime.Handles (>= 4.3) - framework: >= netstandard16 + System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard16 + System.Runtime.Numerics (>= 4.3) - framework: >= netstandard16 + System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= net463, >= netstandard16 + System.Security.Cryptography.Encoding (>= 4.3) - framework: >= net463, >= netstandard16 + System.Security.Cryptography.Primitives (>= 4.3) - framework: >= net463, >= netstandard16 + System.Text.Encoding (>= 4.3) - framework: >= netstandard16 + System.Security.Cryptography.Primitives (4.3) - framework: net46, >= net46, >= netstandard13, netstandard14 + System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard13 + System.Globalization (>= 4.3) - framework: >= netstandard13 + System.IO (>= 4.3) - framework: >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Threading (>= 4.3) - framework: >= netstandard13 + System.Threading.Tasks (>= 4.3) - framework: >= netstandard13 + System.Security.Cryptography.X509Certificates (4.3) - framework: >= net46, >= netstandard13 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard16 + runtime.native.System (>= 4.3) - framework: >= netstandard16 + runtime.native.System.Net.Http (>= 4.3) - framework: >= netstandard16 + runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16 + System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard16 + System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Globalization.Calendars (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.IO (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.IO.FileSystem (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.IO.FileSystem.Primitives (>= 4.3) - framework: >= netstandard16 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard13, netstandard14, >= netstandard16 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Runtime.Handles (>= 4.3) - framework: dnxcore50, netstandard13, netstandard14, >= netstandard16 + System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Runtime.Numerics (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Security.Cryptography.Algorithms (>= 4.3) - framework: net46, >= net461, dnxcore50, netstandard13, netstandard14, >= netstandard16 + System.Security.Cryptography.Cng (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Security.Cryptography.Csp (>= 4.3) - framework: >= netstandard16 + System.Security.Cryptography.Encoding (>= 4.3) - framework: net46, >= net461, dnxcore50, netstandard13, netstandard14, >= netstandard16 + System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16 + System.Security.Cryptography.Primitives (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Text.Encoding (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Text.Encoding (4.3) - framework: net46, >= net46, dnxcore50, netstandard10, >= netstandard13, netstandard14 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Text.Encoding.Extensions (4.3) - framework: >= net46, >= netstandard13 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Text.RegularExpressions (4.3) - framework: >= net46, >= netstandard13 + System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard16, netcore11 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard16 + System.Threading (4.3) - framework: net46, >= net46, dnxcore50, >= netstandard10, netstandard13, netstandard14 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Threading.Tasks (4.3) - framework: net46, >= net46, dnxcore50, >= netstandard10, netstandard13, netstandard14 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Threading.Tasks.Extensions (4.3) - framework: >= net46, >= netstandard13 + System.Collections (>= 4.3) - framework: >= netstandard10 + System.Runtime (>= 4.3) - framework: >= netstandard10 + System.Threading.Tasks (>= 4.3) - framework: >= netstandard10 + System.Threading.Thread (4.3) - framework: >= netstandard14 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Threading.ThreadPool (4.3) - framework: >= net46, >= netstandard13 + System.Runtime (>= 4.3) - framework: >= netstandard13 + System.Runtime.Handles (>= 4.3) - framework: >= netstandard13 + System.Threading.Timer (4.3) - framework: >= net46, >= netstandard13 + Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard12 + Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard12 + System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard12 + System.Xml.ReaderWriter (4.3) - framework: >= net46, >= netstandard13 + System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.IO (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.IO.FileSystem (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.IO.FileSystem.Primitives (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Text.Encoding.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Text.RegularExpressions (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Threading.Tasks.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Xml.XDocument (4.3) - framework: >= net46, >= netstandard13 + System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Diagnostics.Tools (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.IO (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13 + System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Text.Encoding (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13 + System.Xml.ReaderWriter (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13