SDKs
.NET/C# SDK
83min
zip file includes sdk net versions 3 5; 4 0; 4 5; 4 5 1; 4 5 2; 4 6; 4 6 1; 4 6 2; 4 7; 4 7 1; 4 7 2; 4 8; net standard 2 0, xamarin forms, net6 code samples for console app, winform, vb net and vba, xamarin forms android and ios documentation release notes licensespring netsdk v7 33 0 zip https //sdk licensespring com/ net/v7 33 0/licensespring netsdk v7 33 0 zip note you may download the net sdk via nuget from here https //www nuget org/packages/licensespring netsdk/ https //www nuget org/packages/licensespring netsdk/ supported versions net5 0, net6 0, net7 0, net8 0 netstandard2 0, netstandard2 1 net45, net451, net452, net46, net461, net462, net47, net471, net472, net48 release notes april 28, 2025 v7 33 0 added overloads with password parameter to floating license borrowing methods ilicense borrow april 10, 2025 v7 32 1 fixed oauth samples namespace issue april 10, 2025 v7 32 0 added oauth client credentials authentication support through a new configuration cs constructor added configurationfactory createoauthconfiguration method updated config cs class in samples with the new constructor march 5, 2025 v7 31 2 fixed airgap licensing issue on linux february 23, 2025 v7 31 1 added env filter to productdetails ilicensemanager getproductdetails(bool includecustomfields, bool includelatestversion, string env) fixed nuget package signing issue (not related to sdk functionality) november 18, 2024 v7 30 0 added parameter airgapskiplocaltimecheck to extendedoptions if set to true local licence check will ignore local time desynchronization works only with airgaped licences default is false october 17, 2024 v7 29 0 implemented negative consumption on license and license features fixed userlicense customer not being populated fixed null reference exception in floating client methods caused by serverid property fixed web application not starting july 26, 2024 v7 28 0 added overload method ilicense ilicensemanager activatelicense(licenseid, devicevariable\[]) which enables setting device variables on license activation added userlicensesdata\[] ilicensemanager getuserlicenses(string, string) that retrieves all licenses for the provided username and password, and for the product this licensemanager is initialized for added long? serverid property to ilicenseid , used for activating user licenses if a single user has multiple licenses for the same product discontinued support for net frameworks 3 5 and 4 0 june 13, 2024, v7 27 1 added code property to licenseactivationexception to differentiate between license transferred max times and license activated max times api error codes added string orderstoreid() method to ilicense run check license to populate data may 28, 2024, v7 26 1 fixed missing metadata values cleaned up public documentation april 04, 2024, v7 26 0 added bundlecode property to extendedoptions for cases when a single user has a bundle and a single license for the same product added includeexpiredfeatures property to licensewatchdogsettings to enable watchdog to work with expired feature added net8 0 suppor january 22, 2024, v7 25 0 implemented support for custom web headers by adding property customheaders to extendedoptions cs january 02, 2024, v7 24 1 fixed an issue with metadata being deserialized to null december 19, 2023, v7 24 0 added optional parameter includeexpiredfeatures to license check() for retrieving expired license features added optional parameters includecustomfields and includelatestversion to ilicensemanager getproductdetails() method added autorelease property to ilicense (if set to true calls release() in license destructor) fixed object reference exception when webrequest defaultwebproxy is set to null fixed several documentation typos november 16, 2023, v7 23 0 implemented floating features functionality implemented floating features watchdog september 29, 2023, v7 22 1 fixed guid duplicate error for ` licensewatchdogsettings ` class fixed assembly registration issue september 21, 2023, v7 22 0 implemented grace period feature added isgraceperiodstarted , graceperiodenddatetime, graceperiodenddatetimeutc methods to license class added graceperiod option to extendedoptions class renamed methods related to subscription grace period to issubscriptiongraceperiodstarted , subscriptiongraceperiod fixed bug of incorrect maxactivations value when unlimited license activation is enabled fixed false positive vmware detection improved detection of hyper v improved logging of vm detection added requestdateinvalidexception added method transferlimit to license class, it shows limit of license transfers between devices added helper methods isdevicetransferallowed and isdevicetransferlimited `to license class updated console samples to print license device transfer limit july 14, 2023, v7 21 0 improved air gap activation security added license isairgapped added license policyid implemented air gap license deactivation, added license deactivateairgap and license getairgapdeactivationcode methods updated airgapsample to handle air gap deactivation june 26, 2023, v7 20 0 improved microsoft hyper v vm detection, fixed issues with false positive detection improved exception handling for internal server errors moved verification of air gap confirmation code to licensemanager activateairgaplicense , added airgapactivationexception added searching through policy files in case path to a directory is passed to licensemanager activateairgaplicense fixed trial license detection issue for air gap activation fixed signature check for offline floating licenses fixed last usage date time in trial mode fixed getting device id for linux under wsl you can download sdk zip from google drive june 09, 2023, v7 19 0 security patch, that address vulnerability of bypassing license signature verification added detection of azure vm updated winformsample updated documentation june 02, 2023, v7 18 0 added metadata field for productdetails , customer , license and licensefeature classes fixed argumentoutofrangeexception on license validitywithgraceperiod and license isvalid for subscription licenses with grace period may 24, 2023, v7 17 1 fixed issue of freezing calling thread when stopping watchdog or releasing borrowed license updated documentation may 22, 2023, v7 17 0 updated licensewatchdog, added licensewatchdogsettings class added options running the callback on every license check, handling networkexception and licenseserverexception added handling borrowed license if the license is borrowed, watchdog will be paused until borrowing end date time added license setuplicensewatchdog method that takes licensewatchdogsettings as an argument updated winform sample to demonstrate usage of licensewatchdogsettings added license setwatchdogtimeout method fixed license borrowing using offline update files may 09, 2023, v7 16 0 added license canborrow helper method added license register method, see sdk documentation implemented unlimited consumption for consumption license and consumption features added license isunlimitedconsumptionallowed method and licensefeature allowunlimitedconsumptions property updated sdk demo samples improved handling of floating licenses updated documentation improved security check for offline license activation and refresh, implemented offline signature verification improved error handling for offline license activation and refresh, the sdk will throw more specific exceptions in case of errors added exception for not supported target builds for air gap activation april 06, 2023, v7 15 0 added extendedoptions alternatekey , extendedoptions alternateserviceurl properties improved security for license updateoffline method fixed security issue when activating license offline on a different device march 29, 2023, v7 14 0 fixed issue of json serialization fixed several issues related to offline activation when license contains features and custom fields march 22, 2023, v7 13 3 improved vba sample added sdk version to log file fixed issue getting winalternative device id for net framework target builds february 17, 2023, v7 13 2 added customernotfoundexception fixed license features synchronization issues february 6, 2023, v7 13 1 added license maxborrowtime added license borrow overloaded method that accepts datetime argument implemented license isgraceperiodstarted fixed issue of incorrect return value for floatingenddatetime method when license is borrowed updated consolesample february 1, 2023, v7 13 0 added invalidapikeyexception , readonlyapikeyexception , revokedapikeyexception , and apikeyproductnotallowedexception implemented grace period feature for subscription licenses see license graceperiod and license validitywithgraceperiod added floatingtimeoutexpiredexception fixed several issues with local license check and license expiry check fixed issue with cryptoprovider creation for configuration when changing credentials adjusted obfuscation level to prevent false positive detection the sdk as malware january 11, 2023, v7 12 0 added net 7 target build fixed issue of false positive malware detection in the sdk updated obfuscation december 19, 2022, v7 11 0 implemented new api set for managing device variables see devicevariable , license getdevicevariables , license adddevicevariable etc now device variables a being stored along with local license, managing device variables available both locally and on the backend see sdk documentation for more details implemented license borrowing feature see license borrow implemented deviceidalgorithm winalternative algorithm, fixed device id issue for uwp and self contained apps added license floatingenddatetime , now floating license expires when floating period ends added borrowlicenseexception added dateheaderinvalidexception fixed licensemanager relinklicense method fixed param encoding issue for get queries improved obfuscation october 27, 2022, v7 10 1 fixed license signature verification error enlarged default network timeout, now default is 10 seconds october 6, 2022, v7 10 0 improved security, implemented license signature v2 verification implemented sso activation using auth code instead of token added ssosample project removed license signature september 22, 2022, v7 9 1 fixed issue of long delay on desktop platforms when getting device id and when deviceidalgorithm autoid is set added extendedoptions cloudidrequesttimeout option it allows control request timeout when querying cloud platforms for instance id improved obfuscation september 8, 2022, v7 9 0 added source sdk header added license stoplicensewatchdog method implemented sending optional param sdk lang fixed several issues and improved sdk < > floatingserver integration implemented getting instance id for gcp added deviceidalgorithm cloudplatformsid and deviceidalgorithm autoid removed extendedoptions webservicemode fixed date conversion issue related to air gap activation july 7, 2022, v7 8 0 implemented methods licensemanager getssourl and licensemanager activatelicense for activation of user based licenses using single sign on implemented methods licensemanager getairgapactivationcode , licensemanager verifyconfirmationcode and licensemanager activateairgaplicense for activation of air gap licenses air gap licensing is available only in net framework 4 7 or greater, net standard, net 5 0 and net 6 0 libraries added airgapsample project added deviceidalgorithm gen3 device id calculation algorithm to generate shorter hardwareid this option can be useful for air gap licenses may 31, 2022, v7 7 0 added net6 support and consolesamplenet6 added deviceidalgorithm enumeration and extendedoptions deviceidalgorithm property implemented method for updating license to new device id algorithm, see documentation for licensemanager relinklicense setter for licenseid password made public added license startdate method and cannotbeactivatednowexception , see sdk docs for more details added address info data to the customer class (address, city, state, country, postcode) implemented ability to set desired license policy when requesting trial license see licensemanager gettriallicense added new properties for consumption features licensefeature allowoverages , licensefeature maxoverages , licensefeature resetconsumption and licensefeature consumptionperiod updated sdk samples november 11, 2021, v7 6 1 fixed compatibility issue with licenses created by previous sdk versions november 9, 2021, v7 6 0 added licenseuser isinitialpassword property added data check when sending device variables improved support of handling multiple licenses, added basemanager reloadlicense method fixed argumentexception error when removing sdk data in case data location is current directory fixed incorrect license path if it was set as an empty string through the extendedoptions fixed uuid duplicate error fixed minor issues in vm detection module updated vba sample november 1, 2021, v7 5 0 implemented vm detection, see extendedoptions enablevmdetection and configuration isvm , configuration detectedvmname added vmisnotallowedexception added license licenseuser method added licenseuser id property improved getting device id on windows, improved error handling and logging fixed url for offline activation page in winform sample fixed getting device id in xamarin sample august 31, 2021, v7 4 1 added new license data fields, see license transfercount and license floatingslotsinuse updated samples and configuration august 13, 2021, v7 4 0 implemented new classes for interaction with on premise floating server see floatingclient , floatingserverinfo implemented feature of adding local consumption info (both for license and features) when deactivating license offline implemented iequatable interface and operator == for licenseid fixed issue losing local consumption data when updating license offline july 19, 2021, v7 3 0 added cloud platforms support implemented getting azure vm instance id, adapted the sdk for working in azure implemented getting aws vm instance id added asp net sample application added icryptoprovider iterface and cryptoprovider class now it is possible to set crypto key and/or salt, or implement custom cryptoprovider implemented new license storage model see ilicensestorage interface and licensememorystorage , licensefilestorage classes now it possible to store local license in custom locations like your db, windows registry, etc, by implementing ilicensestorage interface implemented interprocess synchronization for local license, see licensefilestorageex class added new properties licensemanager datalocation , licensemanager licensefilename licensemanager initialize now accepts ilicensestorage as optional argument added new properties to installationfile class, see eulalink , releasenoteslink , channel , size and environment implemented filtering of installation files by environment and channel, added new class installationfileoptions improved license updateoffline , added support for files created by the licensespring platform improved error handling, general refactoring and improvements july 1, 2021, v7 2 0 implemented getting information on license users, see licenseuser and licensemanager getcustomerlicenseusers licensemanager gettriallicense now returns licenseid , that includes initial password for user based licenses added new members to installationfile class, that allow implementation of intermediate updates see installationfile releasedate and installationfile requiredversion public keys was encrypted and moved to the code improved obfuscation april 30, 2021, v7 1 0 added new method license updateoffline added diff file to make sdk update easier allowed overwriting os version info in configuration fixed unknown exception in case of expired license, now sdk throws suitable exception type licenseexpiredexception fixed issues running on mobile platforms improved error handling, added new exception types licensedisabledexception and licenseinactiveexception improved samples, updated vba sample april 22, 2021, v7 0 0 added new class licenseid , generalized api calls for user based and key based products implemented licensestatus and added licensedeletedexception , sdk throws it in case license was deleted by product admin allowed overwriting of network information (ip, mac and hostname) implemented caching of productdetails fixed connection issue when using sdk with xamarin on ios fixed unhandled exception issue when sdk runs in unity for android or ios removed api and data types for creating licenses and orders, this api is transferred to separate management sdk general improvements and refactoring, simplified class names for licensespringconfiguration and licensespringextendedoptions march 15, 2021, v6 5 0 implemented expiry date for licensefeature , see licensefeature expirydate and licensefeature isexpired allowed decreasing consumption, see new methods license updateconsumption and license updatefeatureconsumption added optional parameter overagerequest to license syncconsumption fixed connection check when sdk runs in mono runtime implemented support for xamarin forms, added sdk sample for xamarin forms android and ios improved samples january 28, 2021, v6 4 0 added net5 0 target build added new cross platform sample removed reflection protection that was causing unity editor and smartassembly to crash fixed port number in check connection method november 18, 2020, v6 3 1 added licensespringextendedoptions protectofflineactivation option fixed problem with offline activation fixed typo in config file for vb net sample november 9, 2020, v6 3 0 implemented sdk obfuscation the assemblies have been signed with digital signature fixed check for connection when default proxy is being used fixed a few error messages minor fixes in winform sample october 25, 2020, v6 2 0 implemented change password feature for user based products see licensemanager changepassword and license changepassword added new exception types triallicenseexpiredexception , passwordchangenotallowedexception and missingparametersexception added helper method license maintenancedaysremaining fixed license daysremaining counter fixed connection check in conjunction with proxy improved winform sample october 8, 2020, v6 1 0 security improvements for offline activation added new target net standard 2 1, it uses different api for device id calculation compared to net standard 2 0 target please note device id remains the same, just api changed added a few data members to licensedetails see licensedetails maintenanceenddate , licensedetails isfloating and others refactoring and performance improvements minor ui fixes in winform sample july 27, 2020, v6 0 0 added new classes basemanager and managementservice functionality divided into management and end user license handling updated licensedetails and orderdetails classes, added new data members implemented licensewatchdog (background thread) for auto license checks, see license setuplicensewatchdog threadsafety and reliability improvements added new exception types maxfloatingreachedexception and deviceblacklistedexception created package for nuget, so licensespring is now avalible on nuget, see https //www nuget org/packages/licensespring netsdk/ https //www nuget org/packages/licensespring netsdk/ fixed hardware id issue due to localization of some wmi fields see licensespringextendedoptions usenewhardwareid minor fixes and improvements in configuration june 19, 2020, v5 5 0 implemented increasing feature consumption in offline mode implemented overages feature for consumption license type see license isconsumptionoverageallowed and license maxconsumptionoverage implemented floating licensing see license isfloating , license floatingtimeout , license floatingusers and license release improved consumption handling added new methods license updatefeatureconsumption , licensefeature localconsumption added helper method license feature , it returns the feature code improved error handling and added new exception class invalidlicensefeatureexception fixed license timesactivated count issue for offline activation june 1, 2020, v5 4 5 fixed assembly registration issue (guid duplicate error) fixed encoding issue (invalid bom marker in requests) on macos mono runtime improved error handling april 9, 2020, v5 4 4 net standard build adapted for linux and macos, now it's cross platform, supported platforms are windows, linux and macos fixed and improved proxysettings class and proxy related logic, for more details please see documentation updated documentation and other minor improvements march 30, 2020, v5 4 3 added licensefeature name , now it's possible to get license feature name not only code added xml documentation, so now sdk documentation can be accessed and viewed from the ide fixed deactivation bug, timesactivated value wasn't updated properly improved license deactivate , see documentation improved license increasefeatureconsumption , removed redundant check and increased performance added sample app for net core target for net standard build system management package updated to the latest stable version 4 7 0 march 19, 2020, v5 4 2 fixed hardware id issue for unity engine added helper method license ismaintenanceperiodexpired improved hardware id algorithm does not throw exception if could not determine system disk id improved error handling in case of network errors (like secure channel failure and others) february 28, 2020, v5 4 1 added new helper method licensemanager isonline , for more details see documentation productdetails information now also available for offline activated licenses, see license getproductdetails default license file path changed to %localappdata%\licensespring%productcode%\license key if you use default license path in your app license will be transferred to new location by the sdk automatically fixed issue of empty offline activation file and corrupted license file improved error handling, licensefileexception accompanied by internal exception, added networkexception wrapper, see documentation february 20, 2020, v5 4 0 added new licensemanager gettriallicense method it accepts customer object, when issuing trial license also new customer will be created or license will be assigned to existing customer added license lastcheckdateutc and fixed license daysremaining method see documentation for more details improved logging improved error handling, fixed exceptions messages added apinotfoundexception , activationfileexception , unknownlicensespringexception exceptions fixed issue of consumption features consumption changes were not stored to local license file properly fixed assembly registration warnings generic collections types was replaced with plain arrays for com interop added interfaces for public classes, it's required for better com interop license sendcustomdata renamed to license senddevicedata january 28, 2020, v5 3 1 fixed issue with company data member in customer object orderdetails orderid property now public fixed classinterfaceattribute for some of the public classes and assigned guids january 22, 2020 v5 3 0 added license owner information license owner , for more details see documentation added license isvalid helper method, see documentation for more details fixed binary files (assembly dependencies and incorrect target framework versions) january 13, 2020 v5 2 0 fixed hardwareid issue in case of foreign (not english) locale added "webservice" mode for situations in which there is no possibility to save license file locally can be enabled by licensespringextendedoptions webservicemode property december 20, 2019 v5 1 0 added new api request licensemanager getproductdetails , new class productdetails added licensespringconfiguration licensespringapiversion property it returns api version that sdk uses api version field added to offline activation/deactivation files licensemanager gettrialkey replaced with licensemanager gettriallicense improved licensemanager createorder , new class licensedetails improved console sample, now demonstrates both user based and key based licensing approaches added vb net sample added build for net 4 8 target december 11, 2019 v5 0 0 added documentation for the sdk see documentation/documentation html user based licensing see new api details in the documentation added new exception type licensefileexception could be thrown in case license file was damaged constructor of the licensemanager now public see details in the documentation added new methods license maxactivations and license timesactivated added ability to track mac address collecthostnameandlocalip property renamed to collectnetworkinfo stability and performance improvements october 23, 2019 v4 7 0 added requests for creating licenses and orders see licensemanager createlicense and licensemanager createorder consumption license features see license features , license increasefeatureconsumption and licensefeature class improved samples september 27, 2019 v4 6 0 new api request license sendcustomdata , it allows sending custom data to the platform data will be linked to a device, so on the platform see device variables changed license status logic, now it's possible to check whether license is active even if it was disabled see license isactive , license isenabled and license status added windows forms sample added net standard 2 0 build september 13, 2019 v4 5 1 fixed online license check and updating license status minor stability improvements september 9, 2019 v4 5 0 added new feature custom product (license) data fields, see license customfields fixed sending of optional parameters app name and version added license maxdaysremainingvalue constant fixed determining of os name august 19, 2019 v4 4 7 added new api method license isofflineactivated , returns true if license was activated in offline mode fixed a few minor bugs, license isexpired now returns correct value for inactive or disabled license july 31, 2019 v4 4 6 added ability to control network timeout interval added sdk builds for new net target framework versions (4 6 2, 4 7, 4 7 1 and 4 7 2) july 24, 2019, v4 4 4 fixed expiry policy for subscription license type fixed license re enabling issue july 1, 2019, v4 4 3 added ability to use alternate proxy and credentials, new class proxysettings june 20, 2019, v4 4 2 fixed issue with default proxy credentials licensespringconfiguration hardwareid now available for reading june 13, 2019, v4 4 1 detecting system clock cheating during local check, new exception type datetimecheatingexception new helper methods dayspassedsincelastcheck , isinitialized may 21, 2019, v4 4 0 offline licensing new methods getofflineactivationfile , activatelicenseoffline and deactivateoffline stability and performance improvements may 8, 2019 v4 3 1 fixed serialization bug of maximum datetime values may 6, 2019 v4 3 0 consumption licensing, new methods for ilicense increaseconsumptioncounter , totalconsumptions , maxconsumptions and new exception type notenoughconsumptionexception see sample app for details online check of the license now returns installationfile of the last available product version april 25, 2019 new license type consumption improved hardware id generation algorithm, now faster and less error prone added sdk usage sample from vba scripts fixed factory classes that in use in com interop (for vba etc ) april 16, 2019 ability to set custom hardware id licensespringextendedoptions , all optional sdk configuration properties now brought together in extendedoptions class, see sample app for details isactive was brought back for backward compatibility equivalent to status() == licensestatus active stability and performance improvements, faster sdk initialization and license loading improved build script and sample app