Is there a part of the .net framework that enumerates the file shares on a host? I've found some things that use the WMI, but I'd prefer not to go that route.
You can use NetShareEnum win32 api. http://www.pinvoke.net/default.aspx/netapi32/netshareenum.html
Or look at the following project which is .NET Wrapper over it. http://www.codeproject.com/KB/IP/networkshares.aspx