This cool solution is useful for the LDAP Application developers who tend to use Novell’s LDAP Libraries for C#, which is a C# implementation of the client side LDAP SDK. And this article will let the readers know how to use the Novell.Directory.Ldap..dll (which is the library that has the LDAP APIs defined as part of the SDK) on Windows and Linux.


  1. You need to have the library Novell.Directory.Ldap.dll for setting up.

    Download the Novell.Directory.Ldap.dll file from ‘Downloads’ section of, if you don’t have it.
  2. You need to have Mono installed on Linux. Or if your OS is windows, you need to have Mono / Microsoft .Net installed.

On Linux:

  1. Copy the library Novell.Directory.Ldap.dll to your customized project workspace.
  2. Set MONO_PATH variable to point the directory containing Novell.Directory.Ldap.dll as follows (and to the directory having Mono.Security.dll, which will be installed as part of Mono, if use secured LDAP operations).

  3. In your project makefile set reference to Novell.Directory.Ldap.dll using /r:/home/proj/csharp/Novell.Directory.Ldap.dll (and /r:<path to the directory/Mono.Security.dll, if use secured LDAP operations)
  4. Start writing your application including your LDAP Namespace as follows:

    Using Novell.Directory.Ldap;

On Windows (using .Net):

  1. Copy the library Novell.Directory.Ldap.dll and the Mono.Security.dll (This library will be used in case your application needs secured operations to be done. And this will be part of Mono. If you do have Mono installed, get the library from to your customized project workspace.
  2. Start Visual Studio .NET. Select File -> New -> Project.
  3. In the Project tab, select the appropriate type to create a C# project.
  4. Select an appropriate project template in the template tab.
  5. Enter the project name and click OK.
  6. Select Project -> Add reference -> Browse.

  7. In Browse, select Novell.Directory.Ldap.dll and from the location you copied in Step 1. And click OK to Add Reference.
  8. Start writing your application including your LDAP Namespace as follows:

    Using Novell.Directory.Ldap;

For the further references on the details of API and usage, you can visit

0 votes, average: 0.00 out of 50 votes, average: 0.00 out of 50 votes, average: 0.00 out of 50 votes, average: 0.00 out of 50 votes, average: 0.00 out of 5 (0 votes, average: 0.00 out of 5)
You need to be a registered member to rate this post.
Categories: Uncategorized

Disclaimer: As with everything else at NetIQ Cool Solutions, this content is definitely not supported by NetIQ, so Customer Support will not be able to help you if it has any adverse effect on your environment.  It just worked for at least one person, and perhaps it will be useful for you too.  Be sure to test in a non-production environment.

Leave a Reply

Leave a Comment

  • jwilleke says:

    Nice article.

    My fears are, like all the LDAP Libraries at Novell, there is no support and there has been no updates to the libraries since early 2008. It appears Novell is no longer actively supporting any of the LDAP libraries.


  • bhwhd says:

    Hi all.

    As I can see here, version 2.1.11 is the latest:

    This seems to be developed in september 2009 … three years ago.
    Is there anybody working on new versions / updates?

    My problem is the following:
    I had developed a LDAPBrowser (using C# and GTK# and this Novell LDAP lib).
    This LDAPBrowser can be used in Windows as well as in Linux (Ubuntu).
    But I have discovered: I can not filter for umlauts with my tool in Linux – filtering for other letters works without any problem. In Windows, I can filter also for umlauts.
    Wireshark told me, that (using my LDAPBrowser on Linux) the umlauts get as “00 00” to “the wire”.
    Using my LDAPBrowser on Windows, the umlaut “ö” for example can be seen as “00 F6” on “the wire”.

    Any help would be nice 🙂


    • bhwhd says:

      Hi all.

      My fault…

      I used the version 2.0 – this even older version had the problems with german umlauts.
      The latest version 2.1.11 does not have this problem anymore.

      It was a small bug in the file “Novell.Directory.Ldap.Rfc2251\RfcFilter.cs”, method “private sbyte[] unescapeString(System.String string_Renamed)”:

      The wrong line was:
      Array.Copy((System.Array) SupportClass.ToByteArray(utf8Bytes), 0, (System.Array)SupportClass.ToByteArray( octets), iOctets, utf8Bytes.Length);

      Not it is corrected to:
      Array.Copy((System.Array) (utf8Bytes), 0, (System.Array) octets, iOctets, utf8Bytes.Length);

      As this code is only used for chars >0x7f, german umlauts for example worked not, but “normal” chars worked.


Aug 5, 2009
1:24 pm
Active Directory Authentication Automation Cloud Computing Cloud Security Configuration Customizing Data Breach DirXML Drivers End User Management Identity Manager Importing-Exporting / ICE/ LDIF Intelligent Workload Management IT Security Knowledge Depot LDAP Monitoring Open Enterprise Server Passwords Reporting Secure Access Supported Troubleshooting Workflow