Hacker News new | past | comments | ask | show | jobs | submit login

I used to work at a mostly-Microsoft shop and I cannot fathom why anyone would want to deal with MSBuild for other platforms. There are so many better alternatives. And as bad as MSBuild is for building .NET stuff, at least it's the right tool for that job. Trying to shoehorn it into some other stack entirely, which you know is just going to cause even more pain? No. Just no.



What's even worse is that I recently jumped into asp.net 5 and tripped over three build systems and a pile of cack just trying to get it off the ground. Now msbuild as well!?!

Also its not even the right tool to build .net stuff. Add the shoddy dependency resolution steps plus the shitty performance of NTFS on lots of small files (MFT contention) we have to wait 8 minutes for a build. I wrote my own system in powershell and we're down to two minutes. Also, powershell sucks awfully too but that's another story.

Frustratingly I've played around with golang on and off for around two years now. I've not written anything significant in it yet (lack of opportunity more than anything else). You know what's cool about it?

I mastered the entire build system in about an hour and its the same on all platforms and it just works and works quickly.

MS: go look there for some inspiration. Building stuff for the CLR is horrible.


Something like Cake (http://cakebuild.net/), Bau (https://github.com/bau-build/bau) or Psake (https://github.com/psake/psake) are much better than using MSBuild.


I doubt that anyone would choose it for other stacks, but this means that you don't need a separate build system for building your existing .NET project on non-Windows.


Are there really that many people building .NET projects on non-Windows systems? It's been my experience that companies that are using .NET are pretty much full Windows everywhere.


Roslyn needs cross-platform MSBuild to build itself for every platform (without Mono). Same with corefx.

So even if you're currently using or thinking about using .NET xplat and don't have any plans to use MSBuild, this move is necessary for us working on .NET to get xplat builds working.


I'll definitely be. I live in the nix terminal, and that's where the tools work best for web development. But the current day job is C# apps. I dream of hacking code legitimately in a nix.


I'm writing Mac, Android and iOS apps using Xamarin in C# using a shared PCL that is 99% the same code across all platforms. This might not be all that common, but Xamarin has seemingly been gaining momentum over the last couple of years.


I've been looking at Xamarin now for a while, how do you like it so far? Does it live up to its claims?


I've mostly spent time on the Mac side of things so far, and have helped out a colleague with the mobile stuff. Recently they've added a lot of documentation for the Mac side that covers basically anything you want to know - or at least it covered all the stuff I wanted to know when I first started the Mac app 12 months ago.

For mobile, Xamarin Forms can be a little difficult to wotk with, but it's getting better all the time. I don't really want to bother with learning native development at the moment, and because we have a pile of calculations and logic in our shared PCL Xamarin is working out for us.

There is some criticism that the pricing model makes it expensive for people developing at the low end of the mobile market ($1 or $2 apps), however I think that's more a failure of that kind of market in general rather than a problem with Xamarin pricing itself.


It's been the case so far because Mono feels like a second class citizen, but when MS will release officially .NET on other platforms maybe it will change.


My experience as well. I did build some older stuff back in maybe 2010 using mono and NAnt as a hobby of course and I still use NAnt today in 2015 but all it does is invoke MSBuild. These days I don't build any .net software on non Microsoft platforms.


Shit, I would probably build out an entirely separate build system and then just call it with MSBuild if I had to.


That's what people do already; why nant is a thing.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: