Compatibility and requirements for the .NET agent

The .NET agent can be configured to instrument any .NET process, including some non-IIS .NET apps. The agent runs within the monitored process; there is no separate process or Windows service associated with the agent. The .NET agent supports a variety of .NET frameworks, operating systems, and app frameworks.

Before you install the New Relic .NET agent, make sure your system meets these requirements:

.NET version

.NET version 3.5 or higher

Unless you have installed only .NET 4.0 or higher, you must have .NET version 3.5 installed on the target host, in addition to any other .NET versions you have installed.

Supported CLRs

  • 2.0 (not available for Azure Web Apps)
  • 4.0

If you use .NET 1.1 for any app on your target system, ensure you disable instrumentation of that app with the instrument="false" applicationPool setting. The .NET agent can cause crashes in .NET 1.1 apps.

Supported .NET frameworks

  • .NET Framework 2.0
  • .NET Framework 3.0
  • .NET Framework 3.5
  • .NET Framework 4.0
  • .NET Framework 4.5
  • .NET Framework 4.6

If you use .NET 1.1 for any app on your target system, ensure you disable instrumentation of that app with the instrument="false" applicationPool setting. The .NET agent can cause crashes in .NET 1.1 apps.

Operating system

  • Windows Server 2008
  • Windows Server 2008 R2 (64-bit only)
  • Windows Server 2012 (64-bit only)
  • Windows Server 2012 R2 (64-bit only)
  • Windows Vista
  • Windows 7
  • Windows 8
  • Windows 10
  • Windows Azure (OS Family 1, 2, and 3)

New Relic does not support Windows XP, .NET 1.x, or Windows RT.

Architecture

New Relic for .NET is available in both a 32-bit and 64-bit version. On 64-bit systems, the 64-bit agent can instrument both 32-bit and 64-bit applications.

User rights

The .NET agent requires Administrator rights (not User rights) in your Windows admin group. You can be logged in as an administrator user, be a member of the Administrators group, or (on newer operating systems) provide elevation credentials when prompted.

New Relic recommends you restrict permissions for the newrelic.config file to give read/write access only to the owner of the app server process.

Datastores

The .NET agent monitors the performance of .NET application calls to these datastores:

  • MongoDB - when using driver version 1.10.0 or lower
  • MySQL
  • Oracle
  • PostgreSQL (Npgsql .NET Data Provider)
  • ServiceStack.Redis
  • SQL Server
  • StackExchange.Redis
  • IBM DB2
  • Couchbase: SDK version 2.x.

    With Couchbase, Get(string key), GetDocument(string key), Remove(string key), Remove(string key, ulong cas), and Upsert<T>(string key, T value) are not instrumented by default in favor of their multi-document counterparts.

The .NET agent does not directly monitor datastore processes. Also, the .NET SQL parameter capture in a query trace does not list parameters for a parameterized query or a stored procedure.

App frameworks

These frameworks are supported:

  • ASP.NET MVC 2
  • ASP.NET MVC 3
  • ASP.NET MVC 4
  • ASP.NET MVC 5
  • ASP.NET Web API v2
  • ASP.NET Web Forms
  • Castle MonoRail v2 (not the same as Mono)
  • SOAP-based web services
  • WCF IIS and self-hosted services

These frameworks are not fully supported:

  • ASP .NET Web API v1: See the troubleshooting information about using ASP .NET Web API v1 with New Relic's .NET agent 5.0 or higher for apps targeting .NET Framework 4.0. (This does not affect .NET Framework 4.5 or higher.)
  • Mono: Currently New Relic does not support Mono, an open-source .NET framework that runs on Linux. This is because there is no Profiler API to inject into the .NET agent as a profiler into Mono-based .NET applications. The Profiler API is a Component Object Model (COM)-based interface and is not supported on Linux.

This framework is not supported:

  • Classic ASP: Not supported, because the agent can only instrument .NET-based apps.

Messaging

New Relic for .NET monitors these messaging systems:

  • MSMQ: Puts and takes on messages
  • NServiceBus 5.0 (6.0+ not supported): Puts and takes on messages and cross application tracing
  • RabbitMQ 3.5 or higher: Puts and takes on messages and queue purge. When receiving messages using an IBasicConsumer, the EventingBasicConsumer is the only implementation that is instrumented by the .NET agent.

CMS

New Relic for .NET supports these content management systems:

  • EPiServer
  • Umbraco (version 6.1.6 or greater)

Security requirements

As a standard security measure for data collection, your app server must support SHA-2 (256-bit). SHA-1 is not supported.

For more help

Additional documentation resources include:

Join the discussion about .NET monitoring in the New Relic Online Technical Community! The Technical Community is a public platform to discuss and troubleshoot your New Relic toolset.

If you need additional help, get support at support.newrelic.com.