It seems I must expel the bile from my mind as I try nearly in vain to build something the Microsoft way without using Visual Studio.
Firstly why do I want to do this? Well, it would seem that should someone else want to build what I am making and not want to pay for Visual Studio, I should use SDKs and such to assemble the simple tools needed to make my C# project.
But there are serious problems with this.
Perhaps this stems from my “old school” roots. When I built a .Net project back in the .Net 1.0 days, all the tools were simple and easy to use. Make a simple batch script to build your product and start building and incrementally improving.
Maybe it stems from how long I worked at Microsoft – days before Outlook and Visual Studio were even concieved. Days when the tools were simple, consistent and always worked, regardless of what version.
Todays rant stems from me trying to find in one place the simple and obvious tools:
- csc.exe – the C# compiler
- sn.exe – the Strong Name tool used to make .Net assemblies securable
- mt.exe – the manifest tool used to place configuration manifests into the .exe you are building.
- gacutil.exe – the Global Assembly Cache Utility used to place my binaries into a place where anything that needs them can find them.
- al.exe – the Assembly Linker tool used to generate manifests from an assembly among other things.
One would think, … one WOULD think, … that ANY .Net SDK would contain all these tools for ANY version you might be installing, since they have been around since the very early days of .Net – but NOOOOOOOOOOO.
Try Googling something like “what happend to al.exe?” or “Where did sn.exe go?” – I didn’t find an answer – something you would think Microsoft would mention in their SDK documentation somewhere. No. Their philosophy seems to be “Everyone else is an idiot – they don’t need any explanation – if they are developers worth their salt, they’ll figure it out.” This stems, I think, from the high-ego college grads that Microsoft HR tends to hire. Just cuz you have the top students doesn’t mean they will make the best products.
I have just spent the better part of a day installing Microsoft SDKs from around the world to attempt to find any version past 2.0 that has all these tools – its not possible my friend – not at all.
I am just tired of jumping hoops for idiots that don’t design things for the people using them. My hunch is that the Visual Studio team is behind all this. There are now so many versions of Visual Studio that it is quite hard to decide which to install (see here).
This is clearly the result of the pursuit of $ instead of solving problems and supporting customers. It is little known that one of the major reasons VISTA came out so late and so bad was due to its terrible build system that broke down under the sheer size of the code. That combined with hundreds of teams of independent programmers pushing the idea-du-jure of the day and all trying to win the front spot in the OS.
Microsoft seems to have multiple groups with separate interests just randomly attempting to build their own worlds for customers to consume. Clearly we need new tools to support mobile and imbeded platforms but we need not package everything to flavor X of the IDE. It seems long overdue for microsoft to build a generic IDE and connect tools into it via modules or add-ons. The developer needs to understand these tools and choose the set that makes sense for the project being built. But this would breed too much competition – just like separating the shell from the base OS – its the right thing to do unless you want a cash cow.
Installing the SDKs took hours as well. Clearly the inefficiency of setup has exceeded Moore’s law! PCs are so much faster than they were in the past yet our software grows slower! My outlook mail client is slower than the WzMail I used myself back in the 1980s at Microsoft despite the fact that those machines were 1000 times slower than the ones I use today.
I find it hard to believe Microsoft will be in business much longer if the trend of chaos continues. Open source is looking better and more professional every day.