Tungsten 4.5.6

dotnet add package Tungsten --version 4.5.6                
NuGet\Install-Package Tungsten -Version 4.5.6                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Tungsten" Version="4.5.6" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Tungsten --version 4.5.6                
#r "nuget: Tungsten, 4.5.6"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Tungsten as a Cake Addin
#addin nuget:?package=Tungsten&version=4.5.6

// Install Tungsten as a Cake Tool
#tool nuget:?package=Tungsten&version=4.5.6                

Notes:

  • 3/30/2021 - NuGet package for v3.0.6 has been published
  • 3/30/2021 - Small changes to W.Net.Tcp to expose connections and to W.Threading.Lockers.SpinLocker
  • 1/1/2020 - Initial checkin for v3.0.0
  • The first commit of Tungsten as a single package(version 3.0 of the Tungsten library)

Key features in Tungsten.Suite
Feature Description
W.ArrayMethods Provides additional functionality for arrays (Peek, Take, Trim, Append, Insert)
W.As Several conversion extension methods AsBytes, AsString, AsCompressed, AsBase64
W.CallResult A class which can be used as a return value to specify a success/fail, an exception if on occurred, and a result
W.Domains
W.EventTemplate A class which makes exposing and raising an event somewhat easier
W.Encryption Provides several utility classes for RSA encryption and MD5 password hashes
W.Firewall Static methods to add and remove firewall rules
W.From Complements W.As by providing FromBase64 and FromCompressed
W.IO.Pipes Client and server named pipes
W.InterProcess Uses WM_COPYDATA to send interprocess messages
W.Lockable A class which supports thread-safe access to an underlying value
W.Logging Provides basic support for logging. Handle the W.Logging.Log.LogTheMessage event to provide additional logging functionality. W.Logging.LogMessageHistory class can be instantiated to maintain an in-memory history of log messages.
W.Net, W.Net.RPC Client and server for Tcp and Udp with Generics support and assymetric encryption (public key/private key encryption with no symmetric key; secure transmission, but does not prevent man-in-the-middle attacks)
W.Property A class which implements IPropertyChangedNotifier. PropertySlim is a lightweight version of Property and can be used in simpler scenarios (where ownership isn't necessary).
W.SolitaryApplication Makes it easy to make an application support only one running instance
W.Threading Provides a Thread.Sleep method and ThreadMethod which makes creating a background thread (long running task) easy
W.Threading.Lockers Provides classes which support resource locking (MonitorLocker, ReaderWriterLocker, SemaphoreLocker and SpinLocker)

Framework Compatibility

<sub>

Feature NET45 NET452 netstandard1.0 netstandard1.3 netstandard1.4 netstandard2.0
W.ArrayMethods ✔️ ✔️ ✔️ ✔️ ✔️
W.As ✔️ ✔️ ✔️ ✔️
W.CallResult ✔️ ✔️ ✔️ ✔️
W.Domains ✔️
W.EventTemplate ✔️ ✔️ ✔️ ✔️ ✔️
W.Encryption ✔️ ✔️ ✔️ ✔️
W.Firewall ✔️
W.From ✔️ ✔️ ✔️ ✔️
W.IO.Pipes ✔️ ✔️ ✔️
W.InterProcess ✔️
W.Lockable ✔️ ✔️ ✔️ ✔️ ✔️
W.Logging ✔️ ✔️ ✔️ ✔️ ✔️
W.Net ✔️ <sup>2</sup> ✔️ <sup>1</sup> <sup>2</sup> ✔️ <sup>1</sup> <sup>2</sup> ✔️ <sup>1</sup> <sup>2</sup>
W.Property ✔️ ✔️ ✔️ ✔️ ✔️
W.SolitaryApplication ✔️ ✔️
W.Threading ✔️ ✔️ ✔️ ✔️ ✔️
W.Threading.Lockers ✔️ ✔️ ✔️ ✔️ ✔️

<p><a name="rpcNote1"></a>1. Due to limitations with System.Reflection, W.Net.RPC.Server is only available in NET45 || NET452 and netstandard2.0</p> <p><a name="rpcNote2"></a>2. Due to the way Newtonsoft.Json deserializes integers, do NOT use int (Int32) in your api's as parameters or return types. Use long instead.</p> <br>

</sub>

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net5.0-windows7.0 is compatible.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net6.0-windows7.0 is compatible.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net7.0-windows7.0 is compatible.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net8.0-windows7.0 is compatible. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net452 is compatible.  net46 was computed.  net461 was computed.  net462 is compatible.  net463 was computed.  net47 was computed.  net471 is compatible.  net472 was computed.  net48 was computed.  net481 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Tungsten:

Package Downloads
Tungsten.Net

Tungsten.Net is a TCP/IP library

Tungsten.Net.RPC

Tungsten.Net.RPC is a client/server solution for invoking methods on a server. Communications are made over the port you specify. RPC methods on the server are created by attributing classes and methods with the [RPCClass] and [RPCMethod] attributes. Clients make calls by passing in the method name ("MyNameSpace.MyClass.Method1") and any parameters to the Call method. The result of this call is an RPCHandle which can be used to wait for a response (WaitForResponse and WaitForResponse<TResponseType>).

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
4.5.6 112 12/22/2024
3.0.6 2,889 3/30/2021 3.0.6 is deprecated because it is no longer maintained.
1.3.0 1,204 10/5/2017
1.2.7.1 1,096 8/11/2017
1.2.7 1,162 7/31/2017
1.2.6 1,184 6/22/2017
1.2.5 2,577 5/11/2017
1.2.4 3,528 5/2/2017
1.2.3.2 4,002 4/12/2017
1.2.3 2,475 4/11/2017
1.2.2 1,607 3/30/2017
1.2.1 1,001 3/16/2017
1.2.0 1,204 3/15/2017
1.1.3 1,454 2/28/2017
1.1.2 1,161 2/16/2017
1.1.1 1,042 2/16/2017
1.1.0 1,076 2/16/2017
1.0.10 1,106 2/9/2017
1.0.9 1,122 2/1/2017
1.0.8 1,109 1/27/2017
1.0.7 1,222 1/21/2017
1.0.6 1,097 1/20/2017
1.0.5 1,097 1/17/2017
1.0.3 1,110 1/12/2017
1.0.2 1,124 1/12/2017
1.0.1 1,219 1/11/2017

Modified target types and moved code conditions to project Conditions