This document provides an overview of the NI tools to use for .NET application development. NI offers Measurement Studio, a Visual Studio add-on for test and measurement applications. NI also offers .NET driver APIs to connect to NI hardware, like NI data acquisition, PXI instrumentation, and third-party instrumentation using Ethernet, GPIB, serial, or USB.
NI Measurement Studio is a suite of .NET tools designed for building professional engineering applications in Visual Studio to acquire, analyze, and display measurement data.
To help programmers deliver an end-to-end engineering system, Measurement Studio provides libraries for data processing and storage, as well as customizable WPF, Windows Forms, and ASP.NET UI components uniquely optimized for test, measurement, and automation applications.
NI Measurement Studio provides extensive example code, templates, and code-generating assistants integrated directly into Microsoft Visual Studio. C# and Visual Basic .NET developers can reduce the cost and development time required to build professional engineering applications by using Measurement Studio classes and controls.
To use the .NET class libraries that interface with the hardware, you must have the underlying hardware drivers installed in addition to the .NET driver API. Refer to the driver Release Notes to make sure you have the correct driver installed for your hardware.
Some NI drivers already have the .NET driver API included in the installer. The sections later in this document will indicate which APIs are already included with the driver.
The .NET driver API provides an interface to communicate with NI hardware from Visual Studio. NI offers native .NET APIs and .NET Source Code Wrapper APIs.
The native .NET APIs have an object-oriented design and follow .NET Framework idioms. They include documentation of the public interface, conceptual documentation, and examples written in VB.NET and C#.
The .NET source code wrapper APIs are C# and VB.NET source files that provide a thin .NET interface to a C API. NI created source code wrapper APIs to quickly provide rudimentary .NET support before native .NET APIs could be developed.
NI recommends you use native .NET APIs when available because they are easier to program against and provide a better installation, maintenance, versioning, and configuration management experience. Choose source code wrapper APIs only when a native .NET API is not available or when you have already built a system using source code wrappers before native .NET APIs were available.
NI plans to continue to support and maintain native .NET APIs. NI plans to discontinue updates to .NET wrapper APIs.
Feature | Native .NET API | .NET Source Code Wrapper API |
---|---|---|
Class hierarchy | Object-oriented hierarchy | Flat, single-layer, C-like |
Naming | Method and property names follow Measurement Studio and IVI guidelines | Method and property names are mapped from C names |
Documentation | Detailed IntelliSense help. .NET function reference, concept topics, and .NET to C mapping topic | Limited IntelliSense help, with text copied directly from the C function reference |
Module Type | Compiled .NET assembly (DLL) targeting specific .NET framework | C# and VB.NET source code |
Installer | Installer installs assemblies, help files, and examples into Program Files for development and assemblies into Global Assembly Cache for execution | No installer; source code in .zip file |
Examples | Several examples demonstrating key concepts | Limited examples |
Warning and exception handling | Raises events for warnings. Throws appropriate IVI and .NET Framework exceptions. | Returns warning code from functions. Throws a single exception. |
Compatibility with Measurement Studio | Measurement Studio defined .NET datatypes, such as waveforms and precision timing | Basic datatypes, directly translated from C API |
To install .NET support with the driver, refer to Installing NI Software for Visual Studio C# or .NET Development. Directory locations are also provided to find the help and examples.
.NET API and Driver Download | Documentation |
---|---|
Help: <Public Documents>\National Instruments\NI-DAQ\Documentation Examples: Users\Public\Documents\National Instruments\NI-DAQ\Examples\DotNET<x.x> | |
Help: Users\Public\Documents\National Instruments\NI-Digital\Documentation Examples: Users\Public\Documents\National Instruments\NI-Digital\Examples\DotNET<x.x> | |
Help: <Public Documents>\National Instruments\NI-VISA\Documentation Examples: <Public Documents>\National Instruments\NI-VISA\Examples\DotNET<x.x> | |
Examples: <Public Documents>\National Instruments\NI-488.2\Examples\DotNET<x.x> | |
Help: <Public Documents>\National Instruments\NI-RFmx\Documentation Examples: <Public Documents>\National Instruments\NI-RFmx\Examples\DotNET<x.x> | |
NI-IMAQ, IMAQdx* (only available in 2014 and previous) |
Help and Examples: Text-Based Language Examples for NI Vision Software and Driver
|
*As of 2019, NI Vision software no longer includes .NET support. Vision .NET APIs are now open-sourced and available on Github. For more information, refer to NI Vision Software 2019 Does Not Include .NET Support.
If the .NET API is not already included in the driver installer, refer to the NI .NET API resource page for the driver.
Note: To use .NET class libraries that interface to NI drivers, you must install the underlying hardware drivers in addition to the .NET class libraries.
Driver | .NET API Download |
---|---|
NI-RFSA | |
NI-RFSG | |
NI-FGEN | |
NI-DMM | |
NI-HSDIO | |
NI-DCPower | |
NI-SCOPE | |
NI-Switch |
NI Software | .NET Framework | Software Download | .NET Wrapper Download |
---|---|---|---|
NI Bluetooth Toolkit 19.1 | .NET 4.0 | NI Bluetooth Toolkit 19.1 | NI Bluetooth 19.1 .NET Wrapper |
NI FM-RDS Toolkit 1.0.1 | .NET 3.5 | NI FM-RDS Toolkit 1.0.1 | NI FM-RDS 1.0 .NET Wrapper |
NI GNSS 3.0 | .NET 3.5 | NI GNSS 3.0 | NI GNSS 3.0 .NET Wrapper |
NI GSM/EDGE Toolkit 14.5 | .NET 3.5 | NI GSM/EDGE Toolkit 14.5 | NI GSM/EDGE 14.5 .NET Wrapper |
NI LTE Toolkit 14.5 | .NET 3.5 | NI LTE Toolkit 14.5 | NI LTE 14.5 .NET Wrapper |
NI Modulation Toolkit 16.0 | .NET 3.5 | NI Modulation Toolkit 16.0 | NI Modulation 4.1 .NET Wrapper |
NI Spectral Measurements Toolkit 16.0 | .NET 3.5 | NI SMT 16.0 | NI SMT 2.6.3 .NET Wrapper |
NI WCDMA/HSPA+ Toolkit 14.5 | .NET 3.5 | NI WCDMA/HSPA+ Toolkit 14.5 | NI WCDMA 14.5 .NET Wrapper |
NI Toolkit for Fixed WiMAX 1.0 | .NET 3.5 | NI Toolkit for Fixed WiMAX 1.0 | NI Fixed WiMAX 1.0 .NET Wrapper |
NI Toolkit for Mobile WiMAX 1.0 | .NET 3.5 | NI Toolkit for Mobile WiMAX 1.0 | NI Mobile WiMAX 1.0 .NET Wrapper |
NI WLAN Measurement Suite 19.1 | .NET 4.0 | NI WLAN Measurement Suite 19.1 | NI WLAN 19.1 .NET Wrapper |
NI-568x 15.0 | .NET 3.5 | NI-568x 15.0 | NI 568x 15.0 .NET Wrapper |
NI-5690 1.1 | .NET 3.5 | NI-5690 1.1 | NI 5690 1.1 .NET Wrapper |
For third party instrumentation, visit the NI Instrument Driver Network to search free instrument drivers from more than 350 third-party vendors. To narrow your search, filter the results for Development Environment to Measurement Studio for Visual Studio or Visual Studio .NET.