SDKs and what that means
I’m having a real problem understanding the idea of an SDK. The entire concept is becoming more and more spleurgh (if you don’t mind my making up words). The concept makes sense when tit ties in with a particular IDE. And here’s the problem – why should anything tie into an IDE? The advantage of using something like Ant is that it allows you to build both inside an IDE and outside.
I built a “build bot” a while ago which took its own parameters and called csc.exe from the command line to help do building – because my knowledge was small, it seems that I had missed the point of msbuild. This takes the same project files that Visual Studio produces to do the same builds.
The only problem I have now is that I don’t know if there is a mono alternative to msbuild. If there is, that would be awesome, becuase I can define the build just as I would a java ant build, and know that it would work no matter what kind of system you where going to build for.
So is a SDK actually more then libraries? When it comes to mobile development, they seem to be libraries, maybe some tools which integrate into a particular IDE (for example Eclipse) and maybe also an emulator or test tools of some kind. Perhaps also, with an SDK is just a marketing thing – that you expect with an SDK a higher level of support.
Why am I writing this? Well, I’m currently struggling with the Windows SDK for .Net 3.5 – I’m having massive problems with it and its compatibility with the Visual Studio C# Express. It would be nicer if instead of complex SDK installers (and from my experience, it is the installer which is the problem) they had Library versions or just “unzippable” folders to get the tools out.
Anyways. Windows SDK and Visual Studio do not like to be installed in that order – Visual Studio first, THEN the Windows SDK (or at least, if you’re using Express editions because you’re an indie development like me)