
Awesome .NET – A collection of .NET libraries, tools, frameworks, and software - gk1
https://github.com/quozd/awesome-dotnet
======
anton_gogolev
No way CSLA.NET is "awesome" by any measure. See [1], for example

1:
[http://stackoverflow.com/a/10922373/60188](http://stackoverflow.com/a/10922373/60188)

~~~
throwawayReply
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.

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

------
sotojuan
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?

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

------
keithnz
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/](https://visualstudiogallery.msdn.microsoft.com/)

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

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

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

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

~~~
UK-AL
You normally list dependencies in the nuspec, which will download the
dependencies for you.

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

~~~
UK-AL
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.

~~~
yareally
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.

~~~
will_hughes
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)....](https://msdn.microsoft.com/en-
us/library/eftw1fys\(v=vs.110\).aspx)

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

~~~
matthewking
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](http://wkhtmltopdf.org)

~~~
mb_72
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.

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

------
jsingleton
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](https://github.com/quozd/awesome-dotnet#other-lists)

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

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

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

