Questions tagged [.net]

The .NET Framework is a software framework for Microsoft Windows operating systems. It includes an implementation of the Base Class Library, Common Language Runtime, and Dynamic Language Runtime. It supports many programming languages, including C#, VB.NET, F# and C++.

The .NET Framework is not specific to any one programming language. The C#, VB.NET, C++/CLI, and F# programming languages from Microsoft, as well as many other languages from other vendors, all use the same .NET Framework.

The .NET Framework includes a large library of functions as part of the Base Class Library (BCL), including those related to user interface design, data access, database connectivity, cryptography, development of web applications, mathematical algorithms, and network communications. This extensive library simplifies development and makes it easy to rapidly develop new applications.

As such, questions like "How do I do file I/O in C#?" should really be "How do I do file I/O with .NET?". Because such a question concerns the file I/O libraries provided by the .NET Framework, it should be tagged with both the tag, and with the tag, to indicate that you'd like the answer to be written in the C# programming language.

See also: Mono.


Useful .NET Libraries

Mathematics

  • Math.NET Numerics - special functions, linear algebra, probability models, random numbers, interpolation, integral transforms and more

Package managers for external libraries

  • NuGet (formerly known as NuPack) - Microsoft (developer-focused package management system for the .NET platform intent on simplifying the process of incorporating third party libraries into a .NET application during development)
  • OpenWrap - Sebastien Lambla - Open Source Dependency Manager for .net applications

Build Tools

  • Prebuild - Generate project files for all VS version, including major IDE's and tools like SharpDevelop, MonoDevelop, NAnt and Autotools

Dependency Injection/Inversion of Control

Logging

Validation

Design by Contract

Compression

Ajax

Data Mapper

ORM

Charting/Graphics

PDF Creators/Generators

Unit Testing/Mocking

Automated Web Testing

Misc Testing/Quality Support/Behavior Driven Development (BDD)

URL Rewriting

Web Debugging

  • Glimpse - Firebug for your webserver

Controls

MS Word/Excel Documents Manipulation

  • DocX to create, read, manipulate formatted word documents. Easy syntax, working nicely, actively developed. No Microsoft Office necessary.
  • Excel XML Writer allows creation of .XLS (Excel) files. No Microsoft Office necessary. Been a while since it has been updated. It also provides code generator to create code from already created XLS file (saved as xml). Haven't tested this but looks very promising. Too bad author is long time gone.
  • Excel Reader allows creation/reading of .XLS (Excel) files. No Microsoft Office necessary. Been a while since it has been updated.
  • Excel Package allows creation/reading of .XLSX (Excel 2007) files. No Microsoft Office necessary. Author is gone so it's out of date.
  • EPPlus is based on Excel Package and allows creation/reading of .XLSX (Excel 2007). It is actually the most advanced even comparing to NPOI.
  • NPOI is the .NET version of POI Java project at http://poi.apache.org/. POI is an open source project which can help you read/write xls, doc, ppt files.

Social Media

  • LinqToTwitter - Linq-based wrapper for all Twitter API functionality in C#
  • Facebook C# SDK - A toolkit for creating facebook applications / integrating websites with Facebook using the new Graph API or the old rest API.

Serialisation

  • sharpserializer - xml/binary serializer for wpf, asp.net and silverlight
  • protobuf-net - .NET implementation of google's cross-platform binary serializer (for all .NET platforms)

Machine learning

  • Encog C# - Neural networks
  • AForge.net - AI, computer vision, genetic algorithms, machine learning

Unclassified

1453 questions
37
votes
8 answers

Why do .Net books talk about stack vs heap memory allocation?

It seems like every .net book talks about value types vs reference types and makes it a point to (often incorrectly) state where each type is stored - the heap or the stack. Usually it's in the first few chapters and presented as some all-important…
Greg
  • 805
12
votes
5 answers

Windows Service or Windows Task Scheduler?

I am planning to create a utility, which will query the database and store some information (on another table in the database). Its a multi-threaded utility and require to run for every 5 or 10 minutes/later may be thrice in a day. I see two options…
Pavan G R
  • 415
11
votes
3 answers

Why are CIL and CLR required in .NET?

I saw this nice image here. I learned that all the compilers that support .net language convert the source code to CIL format. Now Microsoft is never bringing in .NET for all the operating system by writing a CLR for all operating systems. Then why…
11
votes
2 answers

Should my async task library swallow exceptions quietly?

I've just learned that .NET 4.5 introduced a change to how exceptions inside a Task are handled. Namely, they are quietly suppressed. The official reasoning for why this was done appears to be "we wanted to be more friendly to inexperienced…
11
votes
8 answers

What is the market share of programs written in .NET nowadays?

We are currently migrating our Visual Basic 6.0 program to .NET. The target audience are just normal desktop users at home. Discussing this, we realized that we cannot come up with mainstream programs that seem to be written in .NET. Are we…
Dabblernl
  • 483
9
votes
2 answers

RSpec + Selenium tests for .NET on Windows

I'm a Rails developer doing TDD on a Mac with RSpec, Capybara and Selenium webdriver. Now I have been asked by my company to use this approach for a .NET on Windows environment. What is the best way of doing this? I could just install Ruby and use…
John
  • 561
  • 4
  • 6
9
votes
2 answers

What are the best practices for phasing out obsolete code?

I have the need to phase out an obsolete method. I am aware of the [Obsolete] attribute. Does Microsoft have a recommended best practice guide for doing this? Here's my current plan: A. I do not want to create a new assembly because developers…
9
votes
6 answers

How do I get over my .NET hump?

I've been teaching myself how to write code with the help of a very talented friend, who unfortunately is talented enough that he has never free time. I've read and worked out of a couple books, but I feel more like I'm going through motions, rather…
Steve
  • 91
8
votes
2 answers

Will .NET 4.5 Make the Reactive Extensions Obsolete?

Among other things, .NET's Reactive Extensions simplify concurrency management. From what I've heard, .NET 4.5 will simplify concurrency management with things like the await keyword. My Question: Will .NET 4.5 make the Reactive Extensions…
Jim G.
  • 8,005
  • 3
  • 36
  • 66
7
votes
1 answer

Why are .NET ports called Iron*?

The C program Prog when ported to Java would be called JProg, a port to C++ would be Prog++ and a port to Python would be called PyProg. These names are all quite obvious. But the C# port would be called IronProg, which strikes me as strange. Why is…
jforberg
  • 172
6
votes
4 answers

How are blocking calls implemented?

This may be a very simple question. I'm curious how blocking calls are implemented. Specifically, how do they block? Is this just thread.sleep?
5
votes
3 answers

What are the problems with a relatively large common library?

As long as the code in the base library is as loosely coupled as splitting it up into separate libraries, what's the problem? In general, having a lot of assemblies composing a .NET solution is painful. Plus, when code in one solution needs to be…
xofz
  • 345
5
votes
2 answers

In .net, why can't values of intrinsic data types (such as DateTime) be null?

First the history: I found out DateTime data types cannot be null (Yes they can be nullable using the ? nullable declaration). I was told this is because they are value types and placed on the stack (not on the heap). I can understand why the…
JL01
  • 499
5
votes
1 answer

Should I move invariant out of cycle

Should I care about moving invariants out of cycle scope if it worsens code readability? Let's take a look at a simple example: for (var i = 0; i < collection.Count; i++) { ... } vs. var collectionCount = collection.Count; for (var i = 0; i <…
SiberianGuy
  • 4,793
5
votes
3 answers

Managing references in open source .NET project?

What is the best practice for managing references in a .NET open source project? I'm writing a small library that will use Json.NET. Should I check the Json.NET DLL straight into source control?
TaylorOtwell
  • 2,667
1
2