This answer reflects the comments from Luke Park, bartonjs, Timo, aand Maarten Bodewes above.
One option is to use the Bouncycastle C# library, which has its own self-contained implementation of AES as well as the GCM mode. Look at the source code for the classes GCMBlockCipher, AesEngine, and AEADParameters.
Another option is to use P/Invoke to manually call BCryptEncrypt.
Finally, note that .NET Core will have support starting in 3.0. The source is already available in github.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…