Protection PLUS 5 SDK for .NET Standard
PLUSManaged for .NET Standard 2.0 is a cross-platform build of the PLUSManaged licensing library. Because it targets .NET Standard 2.0, the same assembly works on modern .NET (.NET 5, 6, 7, 8, and 9). If you are upgrading an application from .NET Framework to .NET (formerly .NET Core), this is the PLUSManaged build you switch to.
Which PLUSManaged build do I use?
Protection PLUS 5 SDK .NET Edition includes two builds of PLUSManaged. Choose based on the runtime your application targets:
- PLUSManaged for .NET Standard 2.0 — Use this for .NET 5, .NET 6, .NET 7, .NET 8, .NET 9, .NET Core 2.0+, Mono, Xamarin, and any other platform that supports .NET Standard 2.0. This is the correct choice if you are migrating off .NET Framework, or if you need to run on macOS, Linux, iOS, or Android.
- PLUSManaged for .NET Framework — Use this only if your application still targets the classic .NET Framework (4.x) and you do not plan to migrate.
If you are moving from .NET Framework to modern .NET, switch to PLUSManaged for .NET Standard 2.0. There is no separate ".NET 5" or ".NET 8" build to look for. The .NET Standard 2.0 assembly is the one that runs on those runtimes.
What is .NET Standard, and why does it cover modern .NET?
.NET ships in several flavors: .NET Framework, modern .NET (.NET 5 and later, which evolved from .NET Core), Mono, and Xamarin. Each supports a different mix of operating systems. .NET Standard is a formal specification of the base class library that every conforming platform implements. A library built against a given .NET Standard version runs on every platform that implements that version.
PLUSManaged for .NET Standard 2.0 targets .NET Standard 2.0, which is implemented by .NET Core 2.0+, all modern .NET releases (.NET 5 through .NET 9), .NET Framework 4.6.1+, Mono, and Xamarin. That single assembly lets you license applications across Windows, macOS, Linux, iOS, and Android from one code base for your licensing business logic, without maintaining separate licensing code per platform.
Where to find the assembly
PLUSManaged for .NET Standard is included with Protection PLUS 5 SDK .NET Edition. The assembly is located at:
<code>%PROGRAMFILES%\SoftwareKey\Protection PLUS 5\Library\Standard2.0
Differences from PLUSManaged for .NET Framework
The PLUSManaged for .NET Standard API is nearly identical to PLUSManaged for .NET Framework. A small number of features were removed to maintain cross-platform compatibility. When you migrate from .NET Framework, expect these differences:
- No SOAP web service communication. Communication with the SoftwareKey web services in the .NET Standard build does not use SOAP. If your existing .NET Framework integration relies on SOAP-based calls, that code will need to be updated when you move to .NET Standard.
- Some classes, methods, and properties are unavailable. The PLUSManaged API manual notes when a class, method, or property is not available in .NET Standard, usually under the "Remarks" section. For example, see the SimpleNetworkTime class.
For the full list of supported capabilities, see the features available in PLUSManaged for .NET Standard in the online manual, along with the PLUSManaged Overview topic.
Sample project
Protection PLUS 5 SDK .NET Edition includes a Universal Windows Platform (UWP) sample project that demonstrates using the SoftwareKey System with the PLUSManaged for .NET Standard 2.0 library.
Common Questions
Does PLUSManaged work with .NET 8 (or .NET 6, .NET 7, .NET 9)?
Yes. PLUSManaged for .NET Standard 2.0 runs on all modern .NET releases, including .NET 5, 6, 7, 8, and 9. There is no version-specific build. The .NET Standard 2.0 assembly is the one you reference from a .NET 8 (or other modern .NET) project.
Is there a separate PLUSManaged build for .NET Core or .NET 5+?
No. PLUSManaged for .NET Standard 2.0 is the build used for .NET Core and all modern .NET releases. Reference the assembly in %PROGRAMFILES%\SoftwareKey\Protection PLUS 5\Library\Standard2.0.
I'm upgrading my app from .NET Framework to .NET 8. What do I change for licensing?
Switch your project reference from PLUSManaged for .NET Framework to PLUSManaged for .NET Standard 2.0. The API is nearly identical, so most code carries over. The main change to plan for is that the .NET Standard build does not use SOAP for web service communication, so any SOAP-dependent code must be updated. Also check the API manual "Remarks" sections for the few classes or members that are not available in .NET Standard.
Can I license macOS, Linux, iOS, or Android apps with PLUSManaged?
Yes. Because PLUSManaged for .NET Standard 2.0 targets .NET Standard 2.0, you can license applications running on Windows, macOS, Linux, iOS, and Android using a single code base for your licensing logic.
Why does it say "Standard2.0" if I'm building for .NET 8?
"Standard2.0" refers to .NET Standard 2.0, the compatibility specification the assembly is built against, not to a specific runtime version. .NET 8 (and .NET 5, 6, 7, and 9) implement .NET Standard 2.0, so a .NET Standard 2.0 assembly is fully compatible with a .NET 8 project.