Here below is a list of tools and libraries I consider necessary to carry on my USB key in order to be operative everywhere in a very short time:
- Caliburn (Micro)
- Rad Software Regular Expression Designer
This is probably the single OS replacement for Microsoft Visual Studio. Install and start using it in terms of minutes, thanks to xcopy deploy. It reads projects in the same format of the original one (since it uses the standard framework libraries for reading/writing projects).
If you can see a way to model the DB you want to use, then NH is probably the best OR/M existing in the .NET environment. As soon you have some confidence with it, it is very easy to start modeling our objects, especially with the 3.2.x version that does not require anymore to write hbms.
If you write UI using some XAML dialect (WPF/SILVERLIGHT/WP7/ the new coming Win8) and you like MVVM, you have to look at it. Very easy to boostrap, with coroutine support embedded, I would like to use it even for an Hello World application.
An easy to learn DI framework. Easy and very intuitive to configure, it has some functions to allow multiple components to be injected as array, and to configure dependencies from external modules. I choose it not only for these, but also for the wonderful home page.
A pad to learn and test XAML, with intellisense and preview as you type. Like xamlpad, but much better.
An embedded file based database. It handles concurrent access consistently, easy to interface with NHibernate. Unfortunately, it is a native solution, so it works only in fully trusted environments.
Rad Software Regular Expression Designer
There is a lot of regex testing tool, but this is the one I use, so…
The open source replacement for reflector. It comes from the same team that created SharpDevelop. It has all the features the standard reflector has, but not yet a real plug in environment.
This is the tool I use when I need to display in UI a very long recordset, and I want to page it without rewriting the same code every day.
To use in all applications, even the simplest: l
ogManager.GetLogger(GetType()).Info(“Hello World”); It is probably the .NET logger existing from the early days, with a lot of appenders already written and tested.
So this is my list, of course, another survival pre condition is having an internet access, and the StackOverflow help . There is no NUnit nor a Mocking library (as for example, Moq) since both can be replaced by custom test and mocks, but of course, if there is still place on the USB.