PowerSNMP for .NET

from $1,199.00
Available Platforms

Product Release History for PowerSNMP for .NET

The following is a list of public releases for all components shipped with PowerSNMP for .NET (Latest Release 2023-1-10)


PowerSNMP for .NET

Current Version: Released: 2023-1-10

Dart Communications is pleased to announce the release of PowerSNMP for .NET 6.1.


Changes in this release:

  • Licensing has been refactored. Please review documentation here.
  • Support for .NET Framework 3.5 has been dropped and a minimum of .NET Framework 4.5 is now required. (Please contact sales@dart.com if you require an assembly for a previous version of .NET Framework.)
  • Dart.Snmp.60.dll has been deprecated and removed as use of the .NET standard dll is preferred.
  • Improved Visual Studio Integration.
  • Full support for .NET 7. Released: 2022-3-23

Dart Communications is pleased to announce the release of PowerSNMP for .NET 6.0 with support for .NET 6.0.


New features and changes in this release:

  • Dart.Snmp.60.dll has been added to natively support .NET 6.0.
  • Dart.Snmp.50.dll has been deprecated and removed. Released: 2021-4-26

Dart Communications is pleased to announce the release of PowerSNMP for .NET 5.0 with support for .NET 5.0.


New features and changes in this release:

  • Dart.Snmp.50.dll has been added to natively support .NET 5.0.
  • Dart.Snmp.dll now targets .NET 4.0.
  • .NET 3.5 and previous Frameworks are no longer supported, you may request a legacy version via sales@dart.com if support for legacy frameworks is required.

Product fixes in this release:

  • An intermittent race condition that could result in DTLS handshake failures has been addressed. (1119) Released: 2020-12-03

  • Fixed a minor compatibility issue so that Dart.Snmp.Standard.dll can be used with .NET 5.0. Released: 2020-07-13

  • Support for DTLS using RSA and DSA certificates has been added.
  • The Devices class has been added which can be used to discover SNMP Agents or Devices and update their status.
  • Developer Note: The constructor InformMessage() has been obsoleted but not removed. Users should use InformMessage(long sysUpTime, string oid) going forward. Released: 2019-06-17

Product fixes in this release:

  • Fixed an issue that resulted in .NET Standard assemblies being unusable in newer .NET Core preview releases.
  • Fixed an issue where GetTable and Walk could return an empty list/array if an error occurs, they will now throw an exception.) Released: 2019-02-05

Product fixes in this release:

  • An issue where SNMP variables that are of type octet-string or opaque could not be set to an empty value using an empty string ("" or String.Empty) has been resolved. (1066)
  • An issue where using IPEndPoint.Range would not increment the port correctly if binding failed was addressed. (1057) Released: 2019-01-18

      Nuget only release to update product urls. Released: 2018-03-21

      • Support for FIPS complaint AES encryption.
      • Developer Note: The ReportType.BadPrivacyPassword and ReportType.MissingUserCredentials enumerations have been removed. Exceptions are now thrown in their place.


Product fixes in this release:

      • Resolved an issue where a malformed SNMP message could result in a null reference exception being thrown. (1029) Released: 2018-02-22


      • Added support for .NET Standard 2.0 and .NET Core 2.0
      • New .NET Core 2.0 sample projects, referencing the Dart.Snmp.Standard dll
      • Updated trial license operation for use on .NET Standard-compatible platforms
        - Details regarding trial operation for Dart.Snmp.Standard.dll can be found in the Licensing and Trial Operation topic in the included help documentation Released: 2017-03-30


Product fixes in this release:

      • An issue involving SNMPv3 communications was unintentionally introduced with the release of version With the release of this version, encryption keys were not being cached and therefore regenerated each time they were needed, causing delays. (TFS1005) This has now been addressed. (TFS1005) Released: 2017-03-08


      • Visual Studio 2017 compatibility. Released: 2016-10-12


The following variable methods have been added to the VariableCollection collection to provide more convenient access to items within the collection:

      • GetByNodeName
        - GetByName
        - GetByOid
        - GetByMibNode
      • Engine.Clone, TrapUserList.Clone, and User.Clone methods were added. Released: 2016-08-15


      • A minor compatibility change was made to allow messages that tag TimeTicks as Integer to be decoded.


Product fixes in this release:

      • Displayhint is now correctly inherited from base MIB node definitions. (939)
      • linkDown, linkUp, and egpNeighborLoss have been added to the default notification node list. (943) Released: 2016-05-10


      • XML serialization support has been added to the SNMP message classes.
      • Dual Mode (simultaneous IPv6 and IPv4) sockets are now supported on compatible operating systems. (Vista+)
      • Compatibility with third-party SNMP agents and managers has been improved.


Product fixes in this release:

      • SNMP message classes will provide correct licensing instructions, when used without a manager or agent component. (676)
      • An issue with AES initialization has been addressed. (821)
      • A compatibility issue involving CISCO SNMP entities, using AES-192 and AES-256 bit encryption, has been resolved. (825) Released: 2015-04-09


Product fixes in this release:

      • The MibNodes.GenerateCode() method no longer throws an erroneous ArgumentException. (663) Released: 2015-03-16


Detailed Release Notes


Product fixes in this release:

      • Importing Mibs containing nodes with the same name as default nodes will now work correctly. Nodes with names that match a default node's name will now be renamed with a trailing underscore. (553)
      • The Manager component could throw an "IndexOutOfRange" exception if the OIDs attached to a variable were different from the expected. This can occur for agents that incorrectly return 0.0 as the OID for uninitialized variables instead of the appropriate error report. (566)
      • An issue where the ErrorIndex property could be incorrectly populated was resolved. (580)
      • Unsigned32 is no longer downgraded to SimpleType.UInteger when parsing MIBs, and UInteger32 is now correctly parsed to SimpleType.UInteger. Unsigned32 variables in received messages are now decoded to SimpleType.Gauge as they share an APPLICATION tag value. When creating a Variable for an Unsigned32 type, use Gauge. (583, 588)
      • Variable IDs on received requests are no longer assumed to be OIDs. Variable.Definition for received messages now populates with the correct MibNode. (587)
      • When using the Variable(MibNode definition) constructor, the Variable.Id generated will now only end in '.0' if Definition.Usage type is Usage.Object. (596)
      • Resolved an issue where exceptions could be thrown but not caught with heavy use of asynchronous operations. (597)
      • AuthoritativeEngine.Boots is now initialized to 1, and incremented when AuthoritativeEngine.Time reaches Int32.MaxValue. If a different value is desired under other circumstances, it must be set by the application. (605, 606) Released: 2014-07-23



Product fixes in this release:

      • Improved parsing of MIB definitions when they are loaded out of order. (261, 307)
      • The Agent component no longer throw an ArgumentOutOfRangeException when a .iso variable is used with a GetNextMessage. (317)
      • Calling Message.ToString() will no longer throw an exception if the message has not been sent previously. (382)
      • An inherited MibNode will use the parent's display hint if the MibNode does not define its own. (384)
      • Variables that can be created and are in the Agent's MibNodes collection but not in the Agent's variable collection will now be created if a Set message is received. (412)
      • If an agent receives a trap the RequestReceived event will no longer be raised and the Log event will be raised instead. (420)
      • Thread safe collections are now used where thread collisions are of concern. (435)
      • Removed a call to DoEvents during Mib parsing to allow parsing in environments that do not have access to the System.Windows.Forms namespace. (436)
      • Counter, Gauge, TimeTicks and Uinteger will now serialize and deserialize correctly. (437)
      • GetBulkMessage will only return variables up to the end of the MibView when repetitions exceed the number of variables available. (512)
      • The Agent component's SysUpTime property is no longer part of the component's designer interface. (526)
      • Single line enumerated TEXTUAL-CONVENTIONS are now parsed correctly. (527)
      • Resolved an issue where the Manager component's Mib importer form would intermittently fail to load. (530) Released: 2014-01-14


Product fixes in this release:

      • An intermittent failure with encrypting PDU's using AES was fixed. (380) Released: 2013-11-15


      • Dart Communications is pleased to announce the release of PowerSNMP for .NET 4.6.


Some of the new features include:

      • Added the ability to send traps from an Agent instance without opening the Agent first.
      • Support for sending Informs from Agent to Manager added.
      • Log event added to the Agent.
      • Better support for script based environments such as PowerShell.
      • Message decoding has been relaxed to provide a decoded message whenever possible.
      • A Message.Authenticate property has been added to SNMPV3 message classes to indicate whether a message has failed authentication or not.


Some interface changes were necessary to accommodate the new features and performance enhancements. We have made an upgrade guide available to assist in migrating to the new version:

PowerSNMP for .NET 4.6 Upgrade guide

Please contact us with any questions or concerns about migration at support@dart.com.

      • Trial operation has changed. In addition to the existing 7-day runtime trial license, a 30-day development trial license will also be enforced.


Product fixes in this release:

      • Previously removed Send and Receive methods on ManagerSlave have been restored. Note that the ManagerSlave class has been renamed to SnmpSocket. (TFS198)
      • VariableList now supports identifiers equal to the max value of 32 bit unsigned integer. (TFS286)
      • Trial notifications have been revamped to be more friendly with service based projects. (TFS294)
      • Improved SNMP message handling so that all responses and unsolicited messages received are paired or reported correctly. (TFS314) Released: 2012-10-23


      • Trial licensing operation updated. Released: 2012-10-18


      • Updated for Visual Studio 2012 integration and Windows 8 compatibility.


Product fixes in this release:

      • Addressed an issue where the Load Mib dialog would not display in the designer under Visual Studio 2012 and .NET 4.5. (TFS37) Released: 2012-08-09


Product fixes in this release:

      • Added the ToArray method to the SimpleTaggedType class to simplify retrieving a variable's value as a byte array. (5630)
      • Added support for decoding message variables when an incorrect variable sequence length is specified. (5639)
      • Fixed a mib parsing error that would occur if blank lines are present in a mib file after DESCRIPTION and REFERENCE declarations. (TFS19)
      • Fixed a mib parsing error that would occur if a duplicate name was present in the mib file. (TFS25)
      • Addressed a globalization issue that prevented correct operation for systems using the following language cultures: Azeri (az), Azeri-Latin (az-Latn), Azeri-Latin-Azerbaijan (az-Latn-AZ), Turkish (tr), Turkish-Turkey (tr-TR) (TFS31) Released: 2012-07-12


Product fixes in this release:

      • Fixed a licensing issue with web service applications.
      • Updated the title bar of licensing messages to not indicate a product is in trial when it is licensed. Released: 2012-06-27


      • Updated trial operation behavior and removed obstacle to using product in .NET Framework 4.5.
      • Added a ToArray function to objects that derive from SimpleTaggedType.
      • Updated decoding to be more forgiving of messages containing incorrect variable sequence lengths. Released: 2012-04-13


Product fixes in this release:

      • It is no longer necessary to add a v3 User to an AgentEngine prior to sending a v3 request to that User.
      • Fixed a mib parsing problem - a space is no longer necessary between a syntax type and subtype. (5617)
      • Fixed a mib parsing problem - blank lines are now ok after REFERENCE and DESCRIPTION properties. (tfs19) Released: 2012-03-14


      • Increased the performance of sending and receiving SNMP v3 requests and responses. (5614)


Product fixes in this release:

      • Fixed problem with Display-String when converting bytes to decimal or octal values.
      • Fixed mib parsing problem that would occur when an object with a non-unique name was parsed before its ancestors. (5582)
      • Fixed problem with the Display-String parsing algorithm. (5591)
      • Fixed problem with the built-in "mib-2" branch in the mib tree. (5601) Released: 2011-10-20


      • Added new samples for Web Services and Windows Communication Foundation (WCF).
      • Added Windows Presentation Foundation versions of the Manager and Agent samples.
      • Added a new Walk method for easily walking a branch of an agent's MIB tree.
      • Added a VariableList.Populate method for displaying variables in a Treeview control.
      • Added SimpleType.ToString overload for displaying variable values using a provided DISPLAY-HINT.
      • Added MIB Import support to the Agent component designer.
      • Added an IsActive property to the Agent and Manager components.
      • Added a retries parameter to the GetTable functions, for agents that do not reply to requests in a timely manner.


Product fixes in this release:

      • Variables can now be created with OIDs that contain very large octets (greater than 2^32). (5442)
      • The Manager component now gracefully handles v3 agent discovery with an agent that responds to all requests with an invalid Engine ID report containing the wrong Engine ID. (5488)
      • The agent no longer responds to v3 requests containing the correct Username but no password(s). (5508)
      • The MIB parser now handles Tables and Table Entries whose names do not end in "Table" and "Entry" respectively. (5515)
      • Fixed an issue that prevented SNMP for .NET from being used in Debian hosted MONO. (5516)
      • The GetTable functions no longer balk on tables with indexers that span multiple octets. (5531)
      • MIB definition names with dashes will now result in generated code that is compilable. (5534)
      • CreateDefaultResponse now uses the passed in request's Community instead of always using "public." (5539) Released: 2011-02-02


      • Replaced the static CreateEndPoint function with an IPEndPoint class derived from System.Net.IPEndPoint.


Product fixes in this release:

      • Addressed a memory leak in the agent when receiving requests, and the manager when receiving traps. (5396) Released: 2010-12-13


      • The Agent and Manager components have been updated to utilize IO completion threads when listening for traps, notifications, informs and requests.
      • Support for IPv6 has been enhanced. A new CreateEndPoint function has been added to the Agent and Manager components. This method provides an easy way to create an IPv4 or IPv6 endpoint from a string host name (or address) and port. Method calls have been streamlined with IPEndPoint parameters.
      • "Agent discovery" using Manager.GetResponses now works for SNMPv3. The returned ResponseMessage array will contain ResponseMessages for agents that support the specified user, and ReportMessages for agents that do not.
      • Manager.GetResponses will now "broadcast" in IPv6 using the known "FF02::1" multicast group address.
      • Agents now include the option of NOT responding to broadcasted requests. Also, agents will now join the known "FF02::1" multicast group if the broadcast option is true and the agent opens on an IPv6 socket.
      • Variable.ValueName is now writable. Set this property to an enumerated value and the Variable.Value property will update to the correct integer value.
      • A Manager.Log event has been added that is raised whenever an SNMP message is sent or received.


Product fixes in this release:

      • Fixed problem with creating Manager event handler functions from the designer. The first handler would appear as expected, but subsequent handlers would not appear until event handlers from any other class were added.
      • Replaced derived EventHandler classes and specialized delegates with generic event handlers. The designer will automatically use the new technique when creating and wiring the handler, but changes must be made to existing code. For example:
      • OLD: this.manager1.Message += new Dart.Snmp.MessageEventHandler(this.manager1_Message);
      • NEW: this.manager1.Message += new EventHandler<MessageEventArgs>(this.manager1_Message);
      • Manager.GetResponses will no longer throw any exceptions, as intended. DecodingExceptions will raise the Error event. (5205)
      • Message Create method will now accept a mib parameter of null. (5312)
      • Fixed manager handling of AuthoritativeEngines. First, the Manager.AuthoritativeEngine now holds its own AuthoritativeEngine (AE). Second, the DiscoveredEngines collection has been replaced with an AgentEngines collection, which is a Dictionary of known Agent AEs, using the agent's IPEndPoint as the key. This allows separate Users collections for each agent. (5324)
      • Updated decoding to handle non-spec messages which contain leading byte values of 0. (5345)
      • Made many fixes to the included Free Manager application. (5372) Released: 2010-06-04


      • SNMP for .NET now supports C++/CLI code generation, in addition to C# and VB.NET.
      • PowerSNMP has been updated with a new install and VS 2010 integration.


Product fixes in this release:

      • Manager now responds to SNMPv3 Inform messages correctly. (5176)
      • Decoding is now forgiving of PDUs with 0-length encoded values. (5184)
      • Fixed re-naming issue for duplicate names in different modules. (5198)
      • Fixed v3 issue when a GetNext request initiates the discovery process. (5245)
      • Agent now sets Authoritative EngineBoots to correct value in response, after receiving a request with an incorrect value. (5297) Released: 2010-01-05


      • SNMP for .NET has a new licensing model. External runtime license files are no longer utilized. Instead, a license resource is generated and embedded within the executing assembly.


Product fixes in this release:

      • Fixed an issue with v3 security where the agent no longer responds to certain discovery messages with NoSuchObject and UnknownEngineId variables. (5167) Released: 2009-10-30


      • An update to licensing and the help file. Note that users with an existing 4.1 Developer License File must obtain a new Developer License File for this release.
      • Product fixes in this release:
      • Fixed issues with agent and some v3 management software. (5127, 5136)
      • Fixed MIB parsing issue when END keyword was part of a description. (5138)
      • It is now possible to remove and re-add standard traps to MibNodes.Traps. (5144) Released: 2009-06-25


      • A new code generation feature has been added to the product. The MibNodes collection will have a GenerateCode method that will produce a code file that can be added to your C# or VB.NET project. The code file will provide an Import method which will import MibNode and MibTrap objects generated from parsed mib files into an existing MibNodes collection (for example, Manager.Mib). Also, it will create enumerations that will provide Intellisense for the GetByNodeName and GetByTrapName functions during development. See the Mib Treeview sample for a demonstration of code generation, and the Manager and Agent samples for an implementation of the generated code.
      • The MibNodes dictionary has been extended with a new Traps property, allowing for Trap referencing in parsed mibs. Traps can be indexed by name or by trap attributes. Released: 2009-06-03


      • Added Send and Receive methods to the ManagerSlave object to facilitate communication when the socket should not be blocked while waiting for a response.
      • Product fixes in this release:
      • Fixed a communication problem with some agents and managers when v3 security was used. Released: 2009-05-15


      • Various fixes to the MIB parser. Released: 2009-04-30


      • This latest version of the venerable PowerSNMP product line gets a new .NET 2.0 re-design that leverages the power of the latest .NET environments to provide the most advanced Internet Communications components available. Some of the features include:
      • SNMP version 1, 2 and 3 with authentication and encryption/decryption
      • Built-in objects, identifiers, traps, tables, notifications, and groups as defined in RFCs 1155, 1157, 1158, 1213, 2578, 2579, 3417 and 3418
      • MIB parsing, where any custom MIB file can be used to load MIB definitions
      • Start method for easily implemented multi-threaded applications, including cross-threading marshaling support
      • EncodedMessage property for easy debugging of bytes sent and received, as well as session logging
      • FIPS 140-2 compliant cryptography supports government and military requirements Released: 2009-03-03


Product fixes in this release:

      • Objects with textual convention syntaxes now support enumerated values, if the textual convention defined them. (4096)
      • Fixed a MIB Class generation duplicate-name issue. (4776)
      • Variables contained within received messages now have populated Definitions, if the definition was compiled into the component.Mib. (4798)
      • The MIB parser is now more forgiving of "::=" tokens which are not surrounded by whitespace. (4981) Released: 2008-06-11


      • Version was built without incorporating the fixes to issues 4715 and 4749. Released: 2008-06-06


      • The PowerSNMP Free Manager application source code is now included with PowerSNMP for .NET.
      • Product fixes in this release:
      • The GetTable method overloads will now recognize when there are missing cells and add null variables to preserve the table structure. (4577)
      • The Manager will now timeout correctly when requests are made to non-existent agents. (4715)
      • MibNodes.TrapMessages now include enterprise specific traps. (4739)
      • The GetTable method overloads no longer timeout immediately under high work loads. (4742)
      • Fixed v3 so all Auth/Priv/hashing combinations work. (4743)
      • Async v3 requests that should timeout now do so. (4749) Released: 2008-04-18


      • New MibNodes.Modules table provides information on compiled modules, including defined names and imported definitions.
      • New SimpleType.Opaque.ToHexString function converts variable values to hex string representations. Useful for physAddresses, netAddresses, etc.
      • Mib compilation now supports objects from different modules with identical names.


Product fixes in this release:

      • The SortedVariables collection is now synchronized. (4648, 4691)
      • Addressed issues with SNMP v3 discovery. (4706) Released: 2007-11-20


      • Added a static GetReponse method to optimize performance in demanding multithreaded applications
      • Updated samples with enhanced v3 support
      • Exposed 'Clear' and 'Remove' methods of the 'SortedVariables' collection to allow removal of previously added items
      • Add 'TrapMessages' collection to 'MibNodes' object to allow examination of compiled trap definitions at runtime


Product fixes in this release:

      • Manager can now communicate with Agents using MD5 authentication without privacy (4129)
      • Addressed internal exceptions causing problems in applications written using in Framework 2.0 or higher (4293)
      • Dynamic classes are no longer created internally. This was causing problems when used in Framework 2.0 or higher (4305)
      • Events are now properly raised, and responses are now sent, after receiving v2 and v3 requests for variables not added to Agent.Variables (4362)
      • Corrected problem with mib parsing of SYNTAX that would cause Variable.ValueName to be empty (4450)
      • Corrected condition that caused a premature timeout exception to occur during secure requests (4500)
      • Corrected decoding problem of v3 SHA authentication with privacy (4563) Released: 2006-10-26


Product fixes in this release:

        • ErrorStatus.ReadOnly now supersedes ErrorStatus.NotWriteable (4004)
        • The Agent SetMessageReceivedEvent now fires when table cells are set (4099)
        • Addressed several problems related to GetBulk response messages (4124, 4125)
        • SortedVariables collections are now correctly sorted (4138) Released: 2006-08-11


        • 64-bit environments now supported
        • A new "MibNode.ComposedSyntax" property has been added
        • Product fixes in this release:
        • Memory leak when Manager was Closed has been addressed (4056) Released: 2006-06-21


Product fixes in this release:

          • Corrected a problem where v2 trap messages were not decoded properly (3894)
          • Decoding problems now correctly raise a Decoding Exception (3895)