Syntax error with Queue

I copied some code from a sample project, declaring a queue to hold a struct (I think) called "FrameOfMocapData" from NatNetML. In my project, it has some weird syntax problem.

using System.Collections;
using NatNetML;

This line:

private Queue<NatNetML.FrameOfMocapData> m_FrameQueue = new Queue<NatNetML.FrameOfMocapData>();

Gives this error: "error CS0308: The non-generic type 'System.Collections.Queue' cannot be used with the type arguments'

This shorter version of the line gives the same error:

private Queue<NatNetML.FrameOfMocapData> m_FrameQueue 

The original code is written in C#, and it works fine. Any idea what the problem could be?

You want using System.Collections.Generic; added as well.

Most of the generic containers are in there