Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Awesome .NET – A collection of .NET libraries, tools, frameworks, and software (github.com/quozd)
198 points by gk1 on Oct 18, 2016 | hide | past | favorite | 30 comments


No way CSLA.NET is "awesome" by any measure. See [1], for example

1: http://stackoverflow.com/a/10922373/60188


Absolutely, we had a CSLA project in one of my previous places of work and it became that project no-one dared touch because it just about worked in it's current state but no one could actually understand.

So we'd just write "around" the abstractions to avoid having to interact with the CSLA "magic".

Eventually I think it was written out of the solution.


Not sure why you (and I) got down-voted for valid criticisms. Maybe Rocky lurks on here? :)

CSLA.NET has a lot of really bad parts. I've had to maintain apps written in it and have felt the pain.

Who really changes from a 2-tier to 3-tier architecture anyway? I feel it was only ever popular because of the business objects book.


Yeah, CSLA is:

    1) Designed for big projects
    2) Easy to screw up without lots of experience
The fact that big projects require many developers means those developers rarely have the experience necessary (with CSLA - even an experienced .NET developer is at a disadvantage) to architect it properly, and so it becomes a maintenance nightmare.

It's instructive (for business app developers, anyway) to read Rocky Lhotka's book in order to understand what problems he was trying to solve with CSLA, but it's not really worth using the framework...


Unless things have changed radically since I looked at it, the same can be said about Math.NET


For anybody interested, there's a whole series of 'awesome' repos for different technologies and frameworks - https://github.com/sindresorhus/awesome


My problem with most awesome lists that aren't by Sindre is that they become a laundry list of random libraries. They're not curated.

Is everything there actually awesome and high quality?


This is definitely the case here, many libraries that are certainly not all that awesome, or even maintained.


It looks like a list of stuff with no particular criteria of being "Awesome". I think, for a list like this, you need a better way to get community feedback to get some kind of feel whether the tools are 1) still relevant and maintained 2) Are actually awesome

I'd sooner refer to

https://visualstudiogallery.msdn.microsoft.com/


I agree, Visual Studio Gallery is good for Visual Studio related tools.

For NuGet packages, I like http://nugetmusthaves.com/. It uses NuGet download counts, community voting, release date, etc. to give categorized, ranked recommendations.


probably an "awesome" collection should contains some more attributes. You look at the list, click a link and:

- no test are available,

- no dependencies are specified (in .net world today ...)

- no licence

- no type (API, lib, bin)

of course some (maybe many) of those projects contains that information, but the lack of these attributes, makes the list not suitable for the research of an ideal component to include into a project.


.net libraries tend to be either self-sufficient or come with their dependencies, or otherwise have a readme saying what to run in nuget


You normally list dependencies in the nuspec, which will download the dependencies for you.


I find it a lot more convenient when everything is just vendored


There's no such thing as just vendored. If you include a 3rd party library in a nuget package, and the developer using that package also includes that 3rd party library. It can cause problems.


One example of that I have run into at work is mismatched versions of json.net in dependencies. It becomes a mess when you realize one requires an older/newer version and you don't have the source to modify it or will take some time to have the developer of the dependency update their project.


So long as the newest version of the assembly is backwards compatible with the previous ones (i.e has same interfaces, etc) - then this is easily solved using Assembly binding redirection[1] in your .config file.

eg I have JSON.NET 8.0 installed, and a library I'm requires an earlier version then this will do the trick:

      <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
      </dependentAssembly>
Nuget takes care of this for you automatically.

[1] https://msdn.microsoft.com/en-us/library/eftw1fys(v=vs.110)....


The only .NET PDF library on there cost money. If you don't feel like paying for a PDF library, just write yourself a PDF service in Java or Ruby or something, and use one of their free OSS options.


Not .NET specific, but I use WKHtmlToPDF[1] - you feed it a html file via command line and it converts it to PDF using the Webkit engine. Works well for my uses and I actually prefer maintaining html templates.

[1] http://wkhtmltopdf.org


Same here; I've written a cross-platform (PC and Mac) .NET application that generates reports as HTML in shared code, and both systems create printable output as PDF files created by WKHTMLTOPDF.


I have had good experiences with PdfiumViewer and PdfSharp. Admittedly I used them in very simple ways.

https://github.com/pvginkel/PdfiumViewer

http://www.pdfsharp.net/MainPage.ashx


Can't you use the Java lib over IKVM ? Won't be the prettiest but will be simpler and faster than going a custom service and spinning up a separate VM.


I would pay quite some money for a good PDF library. I've seen some monstrosities in my career. And never a good one that has the ease of merging data with a template. I heard of people using Microsoft Word templates and saving those to PDF. I don't know if I want to venture in that direction but I definitely understand where it's coming from.


Aspose Words (which costs money, and is only "cheap" if you're a med/large business) is the best PDF generation tool I've worked with recently for .NET, handily beating Aspose PDF. Generate the document(s) you need with templates and data as you say, then save them all as PDF.


glad to see n2cms in there. It's got some quirks, but on the whole its the only CMS I have every actually enjoyed customizing and integrating with (in any language). Even the older versions were pretty decent, and I've heard it's gotten better.


This is a great list for project discovery, but obviously there is a lot of choice here. My ASP.NET Core Library and Framework Support list is also on this list - how meta. :)

https://github.com/quozd/awesome-dotnet#other-lists


Looks more like a ".NET is awesome" list.


This is awesome ,, some thing I have been looking for , the psake tool is a great find for me, thank you for sharing !


For those with complaints about the list... Make a pull request and help others out!


[flagged]


wat?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: