News for hackers. Stuff that matters.
Re:In .NET, open source does not beget open source by hello_moto on Monday January 09, 2012 @04:15PM (#3444289)
Regarding dependencies:

Ruby has Gems

Node has npm

Java has Maven

.NET has ____

I don't argue too much about checking binaries into source control but other development environments have probably smoother situation compare to .NET when it comes to 3rd-party libraries.

NuGet is close but not quite there yet.

Regarding Build: MSBuild is akin to that of Ant in Java. Considering that many of Java developers either have moved or are moving to use Maven, it's quite clear that .NET is lagging behind.

Correct me if I'm wrong, even Clojure leiningen is very similar to Maven.

There's some truth to his grief. Even if you're familiar with .NET tools, other platforms provide better experience.

Re:In .NET, open source does not beget open source by gecko on Monday January 09, 2012 @04:28PM (#3444339)
.NET has NuGet. You yourself mention it, then throw it out as "It's not there yet." If you're going to play that game, you have to at least explain what about NuGet is lacking.

Currently, NuGet:

  * Is trivial to use
  * Can be set up on your own box for private packages
  * Has a pretty huge collection of packages
  * Avoids jamming libraries in your SCM
  * And pertinent to this article: works fine in Mono
I know that Gems/pip/whatever have various trade-offs, but you can't summarily ditch NuGet without at least explaining why.
Re:In .NET, open source does not beget open source by SideburnsOfDoom on Monday January 09, 2012 @04:33PM (#3444372)
You left out another feature: Nuget is well integrated into powershell, for automating its actions.
Re:In .NET, open source does not beget open source by hello_moto on Monday January 09, 2012 @04:39PM (#3444398)
Does it work in Linux?
Re:In .NET, open source does not beget open source by gecko on Monday January 09, 2012 @04:53PM (#3444465)
Yes: since at least around October or so, NuGet.exe (the command line) works just fine under Mono in Linux. This is all you need to create and install NuGet packages. MonoDevelop does not yet have integration equivalent to VisualStudio's, but that's not a big deal.
Re:In .NET, open source does not beget open source by rbehrends on Monday January 09, 2012 @10:22PM (#3445496)
Yes, but you may have to start it with:

mono --runtime=v4.0 NuGet.exe

You can also create a NuGet.exe.config file (put it in the same directory as NuGet.exe) to the same effect:

  <configuration>
    <startup>
      <supportedRuntime version="v4.0" />
    </startup>
  </configuration>
Whether you need it will depend on which runtime is enabled by default in your Mono installation. This can vary by system.

Also, you may need a fairly recent version of Mono to run NuGet; there was a bug in Mono that prevented NuGet from running, which was fixed only a few months ago.

Re:In .NET, open source does not beget open source by SideburnsOfDoom on Monday January 09, 2012 @04:28PM (#3444338)
.Net has Nuget, and that's the truth of it. If it's not good enough for you, you'll have to make a case for new features, and either implement them or wait for someone else to.

What features are you lacking?

Re:In .NET, open source does not beget open source by brugidou on Monday January 09, 2012 @06:33PM (#3444874)
nuget is still messy compared to maven/leiningen/rubygems, some features are lacking such as:

- a system-wide repository

- an easy way to integrate with .csproj builds so that building in VS will pull up necessary libs. Yes, i know there's the new auto-install feature in NuGet 1.6 but it's still not as easy as with other tools, and it requires the .nuget folder with nuget.exe in it, and i prefer people to have nuget.exe directly in their PATH anyway.

- a simple way to build from the command line and in VS easily (I know this might not be feasible because VS doesn't let you do everything). For example i could just edit a bunch of dependencies in one file (not a csproj + a package.config, even if a tool does it for me it's messy) and compile it in one command or in VS.

- better management of "internal" NuGet packages within a company (NuGet.Server is not so great to use although it works-ish), NuGet hasn't really been design for large-scale use unlike maven, and this is clearly showing here. It's more of a little tool to get exernal libs.

In general NuGet should mavenize itself a little bit (it can't gemify itself since you'll also want to compile stuff, so imitating bundler/gem isn't enough).

And i do love NuGet, i push it everywhere i can trust me :) it's one of the greatest .NET project at the moment.

Re:In .NET, open source does not beget open source by SideburnsOfDoom on Tuesday January 10, 2012 @09:48AM (#3447088)
I agree that Nuget is a young tool, with potential. But already it has made a good difference. I hope it gets the features that we want.