Network-oriented code requires the ability to handle a variety of sometimes unpredictable situations, and the .Net Common Language Runtime model provides the constructs to do that. However, Visual Studio itself can still be a little picky about details, s