.NET 1.0/1.1 has no support for legacy ports (COM/LPT)
You have to use PInvoke or Interop...
If the attached device follows printer hand-shaking protocols:
HOW TO: Send Raw Data to a Printer by Using Visual C# .NET :
http://support.microsoft.com/?kbid=322091
If you want to control the port pins:
You have to install some kind of hardware drivers!
(Warning: will impact system security/reliability)
[NOTE: this is a restriction of the OS, not of .NET]
commercial, specific for printer ports, e.g.:
http://www.zealsoftstudio.com/ntport/download.html
http://www.ntport.com/
for .NET : generic IO
http://www.winsoft.sk/nioport.htm
C++/Win32
http://www.logix4u.cjb.net/
http://www.entechtaiwan.com/tviclpt.htm
http://www.internals.com/
For more information about ports, check this sites:
http://www.lvr.com/parport.htm
http://www.beyondlogic.org
for Interop, please use newsgroup:
microsoft.public.dotnet.framework.interop

Signature
Thomas Scheidegger - MVP .NET - 'NETMaster'
http://www.cetus-links.org/oo_dotnet.html - http://dnetmaster.net/