Hoo boy, MSBuild was always by far my least-favorite part of being a .NET developer. I would like to flippantly say they should just throw it away and replace it, but probably much too late for that.
I have no strong opinions for or against MSBuild. What is it that you dislike about it? Or what is it that other tools do that MSBuild fails to do? PS - I have done a lot of .Net development, but rarely did anything beyond the basics with MSBuild directly (mostly via Visual Studio, or took the pre-generated command line and stuck in a script).
MSBuild is going cross-platform with .NET Core
41–50 of 139 posts
Re: MSBuild is going cross-platform with .NET Core
#42I know MSBuild gets a lot of hate but this is still great news. The end goal of having a .Net project be compile-able on Windows, Linux and Mac is going to be awesome. I'm curious, when everything is finally done, what the adoption rates will be like. Will hard-core Linux users who used Java migrate when it makes sense? Will they avoid it because "M$"? All good stuff.
This is already possible without the bullshit msbuild.
Re: MSBuild is going cross-platform with .NET Core
#43I know MSBuild gets a lot of hate but this is still great news. The end goal of having a .Net project be compile-able on Windows, Linux and Mac is going to be awesome. I'm curious, when everything is finally done, what the adoption rates will be like. Will hard-core Linux users who used Java migrate when it makes sense? Will they avoid it because "M$"? All good stuff.
> Will hard-core Linux users who used Java migrate when it makes sense? Probably only for mobile/desktop app but less likely for back-end/webservice/infrastructure stuff. Take MSBuild. This is pretty much Ant. Sure, there's NuGet but Ant+Ivy or MSBuild+NuGet combo isn't anywhere close to Maven (despite the XML hate). Libraries, communities, tools, frameworks of .NET ecosystem is still behind Java. Unfortunately langu…
Re: MSBuild is going cross-platform with .NET Core
#44This is good news but little bit too late. Microsoft strategy of sticking with windows to slow down Linux and Mac back fired . If they opened up .Net few years back cross platform app development landscape would have been totally different today.
I don't know why you think it is too late? Do you think people aren't going to embrace cross-platform .NET?
Re: MSBuild is going cross-platform with .NET Core
#45Now I can hate every moment of its existence on more than one platform! Having dealt with it for years, it's unadulterated pain and bad performance and nothing else.
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.
Re: MSBuild is going cross-platform with .NET Core
#46Now I can hate every moment of its existence on more than one platform! Having dealt with it for years, it's unadulterated pain and bad performance and nothing else.
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.
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.
Re: MSBuild is going cross-platform with .NET Core
#47Earlier quoted context omitted.
Indeed. And they cannot play the "but Java is OSS" card anymore as Oracle has made it pretty clear that Java's APIs are proprietary and that you will be sued if you do anything not authorised by them (which effectively removes the 'open' in "open source software"). Say what you will about the Android Java situation, but it doesn't exactly scream "this is open and free software."
I read somewhere that Microsoft's structured the patents/licenses in the .NET ecosystem in such a way as to make that kind of lawsuit unlikely. Can anyone comment if that is true?
Portions of .NET are under ECMA and ISO standards: https://en.wikipedia.org/wiki/Common_Language_Infrastructure...
I think the most important part is that the new cross-platform .NET core framework, CLR, and compiler (Roslyn) are under permissive open source licenses (MIT for fx and clr, Apache 2 for Roslyn). You can see licenses and patent pledges here: https://github.com/dotnet/
Disclaimers:
1. Microsoft employee until they notice I'm hanging out on hacker news instead of replying to e-mails and "fix the glitch".
2. Not that smart and definitely not a lawyer.
Re: MSBuild is going cross-platform with .NET Core
#48Earlier quoted context omitted.
Seconded. Performance is the main thing holding me back. I'm very excited about C# and other .NET languages for server applications, and would like to make it my primary server side environment, but am waiting for three things: 1) A production ready compiler and runtime on Linux (coming) 2) Tooling to support the new .NET project structures and dependency management (coming, it seems) 3) A production ready server sol…
There has been work on performance and more to come (source: ASP.NET Community Standup podcasts). The stated goal is to be in the ballpark of the top performers. You can follow the progress here: https://github.com/aspnet/benchmarks Just keep in mind that the work just started (and it was recently put on hold to get the Linux version - beta 7 - out the door).
"Kestrel hit 151k RPS just now for plaintext test with pipelining (depth 16). Lots of known things to fix still, big gains to come #aspnet"
"have a fix in the works that'll give us another 5-10% & a list of other things to attack after that. Fun stuff :)"
Re: MSBuild is going cross-platform with .NET Core
#49Earlier quoted context omitted.
There has been work on performance and more to come (source: ASP.NET Community Standup podcasts). The stated goal is to be in the ballpark of the top performers. You can follow the progress here: https://github.com/aspnet/benchmarks Just keep in mind that the work just started (and it was recently put on hold to get the Linux version - beta 7 - out the door).
Very happy to see a focus on performance on the roadmap. I've actually seen that benchmark page, but all the results it lists are for the Web Server running on Windows (perfsvr), where Linux is only used for load generation. Any idea if the results are similar with the server running on the Linux machine (perfsvr2)?
Re: MSBuild is going cross-platform with .NET Core
#50Earlier quoted context omitted.
Anyone who does not like MS because of the $ cannot at the same time like Java.
Indeed. And they cannot play the "but Java is OSS" card anymore as Oracle has made it pretty clear that Java's APIs are proprietary and that you will be sued if you do anything not authorised by them (which effectively removes the 'open' in "open source software"). Say what you will about the Android Java situation, but it doesn't exactly scream "this is open and free software."