Livecoding.tv engineers use C# and .Net productivity tools on a daily basis as a quick way to simplify their work and improve productivity. We would like to share one such set of tools, plugins, and libraries C# streamers use on Livecoding.tv.
What is C#?
“C# is an elegant and type-safe object-oriented language that enables developers to build a variety of secure and robust applications that run on the .NET Framework. You can use C# to create Windows client applications, XML Web services, distributed components, client-server applications, database applications, and much, much more,” according to Microsoft’s Developer Network (MSDN).
There is a newcomer called Fixie to the .NET testing framework space which has proved to be very important for C# programmers. Fixie allows test methods to be created and executed. The difference with Fixie is that it takes a conventions-based approach, which is a benefit as we do not need to use attributes to mark classes and methods as tests.
What is .Net?
The .NET Framework is a technology that supports building and running the next generation of applications and XML Web services… The .NET Framework consists of the common language runtime and the .NET Framework class library…The .NET Framework can be hosted by unmanaged components that load the common language runtime into their processes and initiate the execution of managed code, thereby creating a software environment that can exploit both managed and unmanaged features. (Microsoft’s Developer Network (MSDN).
C# and .Net Productivity Tools, Plugins & Libraries
Here are the ten (10) best C# and .Net productivity tools, plugins, and libraries for Livecoding.tv engineers that promises to improve your productivity:
With .NET Reflector you can decompile, understand, and fix any .NET code, even if you don’t have the source. Third-party platforms aren’t always well-documented. Use .NET Reflector to look inside their assemblies, and see how they work and which APIs you can call.
NUnit is a unit-testing framework for all .Net languages. Initially ported from JUnit, the current production release, version 3.0, has been completely rewritten with many new features and support for a wide range of .NET platforms.
CodeRush makes it easier to see what’s going on with complex code, so you can move forward and spend less time wandering and wondering. Why is that expression’s value different from what you expect? When did that local change? How many times have we been through this loop? CodeRush’s compelling new debug visualizer effortlessly and instantly answers these questions and more.
Snippet Compiler compiles snippets. It is a very popular tool recommended by Livecoding.tv engineers as an alternative to LINQpad.
NDepend, which is a code quality tool that integrates seamlessly with Visual Studio. The code rules are written using LINQ queries that are nested in an NDepend project file in the solution. This allows a shared code environment to share the rule queries. Read Chris Byram’s tutorial for a comprehensive review of NDepend.
Kodos is a regex tool — A Python GUI for creating, testing and debugging regular expressions for the Python programming language. Kodos utilizes the pyqt library for it’s interface.
WatiN is developed in C# and aims to bring you an easy way to automate your tests with Internet Explorer and FireFox using .Net.
The Sandcastle tools are used to create help files for managed class libraries containing both conceptual and API reference topics. API reference topics are created by combining the XML comments that are embedded in your source code with the syntax and structure of the types which is acquired by reflecting against the associated .NET Framework assemblies. Conceptual topics are created by converting XML documents that you author containing Microsoft Assistance Markup Language (MAML). The Sandcastle tools are command-line based and have no GUI front-end, project management features, or an automated build process.
NAnt is a free .NET build tool. In theory it is kind of like make without make’s wrinkles. In practice it’s a lot like Ant. Instead of a model where it is extended with shell-based commands, NAnt is extended using task classes. Instead of writing shell commands, the configuration files are XML-based, calling out a target tree where various tasks get executed. Each task is run by an object that implements a particular Task interface.
So there you have it. The ten (10) best C# and .Net tools, plugins, and libraries to help you become more productive. See James Avery’s Ten Must-Have Tools Every Developer Should Download Now for additional tools. Do you agree with our list? If not, which tools would you add?