Hacker News new | ask | show | jobs
by embiggen 3492 days ago
Has it really been 2 years already? I'm still waiting for a decent build system for .NET projects for Linux or macOS. Last time I tried (~6 months ago), it was a tire fire.
5 comments

It's even more tire fire now: they're announced 'project.json' build system, but deprecated it[1] in favor of older msbuild. But it's still mentioned on front page of .NET core[2] and used as the primary build system in latest version (I don't know if .NET core even has msbuild, tried only mono).

Almost everyone think that you need some specific IDE (either Visual Studio or Monodevelop/Xamarin Studio/VS for mac (this is the same thing lol)), even in opensource communities[3].

And MSDN is the slowest and hardest to use web documentation I ever seen. Everything non-Windows non-VS is still very, very second-class.

[1] https://blogs.msdn.microsoft.com/dotnet/2016/05/23/changes-t...

[2] https://www.microsoft.com/net/core

[3] http://community.monogame.net/t/creating-a-new-monogame-proy...

ms is maintaining project.json based sdk too with version preview2, so devs can continue to work, no need to switch to new msbuild soon (wait until is done).

ide are good (intellsiense/debugging), especially vscode, but sdk works already from command line and text editor.

about docs, check the new docs website (oss, accept pr):

- https://docs.microsoft.com/en-us/dotnet/articles/core/

- the getting started doc https://docs.microsoft.com/en-us/dotnet/articles/core/gettin... has tutorial for everyone (cli/vs/vscode/xam), and all os. is not vs centric

> And MSDN is the slowest and hardest to use web documentation I ever seen

It is also one of the best company provided documentation out there.

Have you ever used online documentation from Apple, Google, Borland, SAP, Oracle, ...?

Either FAKE (F# Make) or CAKE (C# Make) work perfectly on NIX/BSD systems. The new build system FOR .NET Core works great too with `dotnet build`.
Yes, Cake is wonderful, however, I had great problems bringing it to work due to a lot of issues with NuGet v3 (UTC positive offset bug, looking for msbuild.exe to restore packages, ...). Luckily, I could switch to NuGet v2.

Bottom line is: CAKE is great, but if the project depends on things that are not covered by dotnet core one is still screwed.

> The new build system FOR .NET Core works great too with `dotnet build`

They've deprecated it: https://blogs.msdn.microsoft.com/dotnet/2016/05/23/changes-t...

`dotnet build` still works, they've just changed the underlying implementation from the 'project.json' based one to instead use MBBuild
just `dotnet migrate` if you have an old project.json, or create a new one with `dotnet new`.

after that as usual

- dotnet restore

- dotnet build

- dotnet run

- dotnet pack

- dotnet publish

- dotnet test

the cli is the same, the dotnet/cli team added other commands too (dotnet msbuild, dotnet clean, and more in development using an extensibility to install global commands)

> the dotnet/cli team added other commands too (dotnet msbuild, dotnet clean, and more in development using an extensibility to install global commands)

Yeah the cmd extensibility story it pretty nice, I had a go at writing a 'dotnet benchmark' cmd and it was pretty straight-forward, see http://mattwarren.org/2016/10/03/Adding-a-verb-to-the-dotnet...

I might be off topic, but JetBrains is making a cross-platform .NET IDE which is currently in open beta. I tested it and it had no difficulties to open/build/execute existing solutions.
Make?