3 ms·
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 othe
by hello_moto 15y ago
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.
- SideburnsOfDoom 15y ago.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?
- brugidou 15y agonuget 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.
- SideburnsOfDoom 15y agoI 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.
- gecko 15y ago.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.
- SideburnsOfDoom 15y agoYou left out another feature: Nuget is well integrated into powershell, for automating its actions.
- hello_moto 15y agoDoes it work in Linux?
- gecko 15y agoYes: 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.
- rbehrends 15y agoYes, 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.