<p>I'm working on a P2P application, and I need to get it to communicate through NAT Routers / Firewalls using UPnP. However, it doesn't seem that the .NET Framework includes support for UPnP.</p>

<p>Is there a UPnP Library for .NET? C# or VB.NET?</p>

<p>UPDATE: I have since found the NATUPnP 1.0 Type Library (NATUPNP.DLL) COM Component that is part of Windows (since Windows XP) that allows you to easily setup/maintain Port Forwarding using UPnP.</p>

<p>I wrote an article with code samples here:
<a href="http://pietschsoft.com/post.aspx?id=31200e6d-4b61-48b8-a9cb-91e3dd8e97f3" rel="noreferrer">.NET Framework: Communicate through NAT Router via UPnP (Universal Plug and Play)</a></p>

There is a COM library that's easy enough to access:
UPnP APIs
Purpose
The UPnP™ framework enables dynamic
  networking of intelligent appliances,
  wireless devices, and PCs. There are
  two APIs for working with
  UPnP-certified devices:
The
Control Point API
, which consists
  of a set of COM interfaces used to
  find and control devices. The
Device
  Host API
, which consists of a set of
  COM interfaces used to implement
  devices that are hosted by a computer.