Live data from Hacker News

MSBuild is going cross-platform with .NET Core

blogs.msdn.com

61–70 of 139 posts

Re: MSBuild is going cross-platform with .NET Core

#61

Earlier quoted context omitted.

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.

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.

Re: MSBuild is going cross-platform with .NET Core

#62
post #50

Earlier 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."

Not to mention that every Windows JRE installer comes with Ask Toolbar or similar stuff.

Not every.

Re: MSBuild is going cross-platform with .NET Core

#63

Earlier quoted context omitted.

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.

Re: MSBuild is going cross-platform with .NET Core

#64

Earlier quoted context omitted.

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.

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.

Re: MSBuild is going cross-platform with .NET Core

#65
post #32
post #14

Earlier quoted context omitted.

1 year ago, yes. C# is awesome as a language but I don't see a reason to switch to .net when the JVM has Kotlin, which is nicer than C#, but still super lightweight and thoroughly pragmatic.

Cool! How would you build an app for iOS and WinPhone using Kotlin?

The same way I do in any other language: I don't.

Re: MSBuild is going cross-platform with .NET Core

#66
post #23

Earlier quoted context omitted.

> 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). This is an excellent reason to avoid MSBuild. IDE lockin is a nightmare. Might be unavoidable for Visual Studio, though.

It depends what you're doing. If you're making libraries, console applications or doing modern websites it's pretty easy to get your build working without Visual Studio. One - ELEPHANT SIZE - problem is that for some reason Microsoft only ship the Windows SDKs as part of Visual Studio. Meaning that you'll need to install the IDE at least once to get a build running (you can copy the SDKs around after that). Microsoft…

FWIW, you can install MSBuild without Visual Studio. It's part of the Windows SDK. If your target system is not supported, you have to run it on a supported system and choose the "Download for installation on a separate computer" option. Then copy the resulting msi and cab files to the server and run them. See http://stackoverflow.com/questions/12944502/build-asp-net-4-...

However, after I did this, I had to find build targets that Visual Studio installed and copy them from my workstation into the same directory on the server (i.e. C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications).

Re: MSBuild is going cross-platform with .NET Core

#67

Earlier quoted context omitted.

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.

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.

Re: MSBuild is going cross-platform with .NET Core

#68
post #14

Earlier quoted context omitted.

1 year ago, yes. C# is awesome as a language but I don't see a reason to switch to .net when the JVM has Kotlin, which is nicer than C#, but still super lightweight and thoroughly pragmatic.

I'd argue that just because a language runs on a platform with a potentially large number of third-party support (JVM) doesn't mean it's going to be nice to use. For example, I ended up having to write Java code when dealing with large XML data sets in a Clojure system, because the current offerings simply didn't let me do what I needed in fluent Clojure code. I suspect Kotlin has those same kinds of issues, just amp…

Kotlin is basically a nicer Java and will seemlessly integrate. You can even mix Java and Kotlin in the same project.

Re: MSBuild is going cross-platform with .NET Core

#69
post #9

Earlier quoted context omitted.

It will be very nice to be able to do CI/compilation on extremely cheap and fast (to spin up) linux slaves as opposed to requiring an expensive (license, hardware) and slow (miserably slow ec2 boots) Windows servers.

Good Lord, yes. It takes forever for my TeamCity build agent AMIs to spin up and actually connect to the TeamCity server. It would be awesome to replace that bulky Windows build agent with a Linux one.

I gave up on activating windows agents programatically, I keep one powerful windows build server running, it spins down at night after regression testing, then back on during the day when employees come into the office. The pocketbook definitely feels it, though.

Re: MSBuild is going cross-platform with .NET Core

#70
post #22

Now 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.

The thrill of undocumented property sheets! The rush of accidentally getting a build to work while using a genetic algorithm to try every possible combination of configuration settings!

What's not to love!?

Post reply on HN