How can I learn more about SNMP and MIB?
Answer: For beginners you might start from good books such as Essential SNMP and Understanding SNMP MIBs.

For advanced, you might check out the original RFC documents from IETF and review existing SNMP implementation such as Net-SNMP.

Where can I find more samples?
Answer: The source code package contains more samples, which are under Samples folder. Both C# and VB.NET samples are available.

Why are there only C#/VB.NET samples?
Answer: You can easily convert C# sample code to other .NET languages using this SharpDevelop web site. The conversion result may not be perfect, but it shows how to make API calls.

ILSpy is another tool that can help translate the code. Simply open our C# version samples (exe or dll) and check the disassembled code.

The good news is that VB.NET samples are added in 5.0 release.

Is there a class reference?
Answer: Help packages (both CHM and Help2 versions) are available in binary release packages. You can also build them from source code.

What if my question is not answered in the KB articles?
Answer: You can check the StackOverflow, as project team already answered a lot of questions there. If your question is not listed there, please post it and wait for replies.

Is this library free for commercial projects?
Answer: It is really hard to start an open source project because you need to find a proper license. In my case, I want this library to be both strict open source and friendly to commercial world. Therefore, at last I use MIT/X11 to cover the code. This means if you follow MIT/X11 rules, you can use this library in commercial projects for free. Note that portion of the code base is covered by BSD 3 Clause.

Does it support SNMP v3?
Answer: SNMP v3 support is complete. #SNMP supports all RFC required authentication (MD5, SHA-1) and privacy (DES, AES) algorithms.

Does it support all SNMP devices?
Answer: Probably not. SNMP has been an ancient protocol, but not all vendor products (both hardware and software) strictly follow the rules. #SNMP is only capable of supporting most of them which are standard compliant.

Non standard devices can lead to various issues, and below are the ones reported back by users,

It is not a complete list but should shed some light on how to troubleshoot and locate the culprit. You will have to modify #SNMP to adapt to those problems on your own.

What's the current version and previous versions?
Answer: Please refer to our Roadmap here.

Why should I use this library?
Answer: It is hard to explain.
On one hand, there are indeed a lot of commercial packages available throughout the market. However, my evaluation shows that most of them are too expensive and a few of them only provides limited functions a developer may need.
On the other hand, there are few open source packages existing on .NET platform. For example, I cannot compile SNMP++.NET successfully and I don't think that library provides a natural enough API interface.

Could I contribute to this project?
Answer: Welcome. You can do a lot to help even if you may not have the chance and ability to contribute patches and new functions.
Here are a list of items I expect,
  • Comments on the API, such as "this part of API is not natural enough. We need to change it to blah blah blah and then it is more natural".
  • Bug reports, such as "it does not work in my case. What's up then"?
  • Patches, such as "I found a bug and created a patch to fix it, so please merge it into the repository". I am more than glad to hear from you.
  • New functions, such as "why not implement something like this".
You can always start your own fork from here

Why choosing CodePlex as homepage and GitHub as source code host?
Answer: Well, I think combination of the two matches all needs of this project.

Why when I compile the source code weird errors happen?
Answer: You will need to use Git to check out the source code. I don't support ZIP packages downloaded from CodePlex.

Which language does this library support?
Answer: Technically speaking, all .NET languages are supported, such as C#, VB.NET, Oxygene, C++/CLI, IronPython, IronRuby, and so on.

Is this library thread safe?
Answer: Not yet. Please use static methods in Messenger class which should be thread safe.

How to diagnose problems?
Answer: Please follow KB 600008.

Why are some methods marked as Obsolete?
Answer: #SNMP Library API changes across major releases. Therefore, there are some methods marked as obsolete somewhere. Please avoid using them as they are to be removed in future releases.

How to fire feature requests?
Answer: You can add new feature requests and vote on features using the Issue Tracker.

If all above do not resolve your problem or you have questions on them, please feel free to start a discussion in StackOverflow.

Last edited Sep 24, 2015 at 1:48 PM by lextm, version 27