tags:

views:

693

answers:

9

Is it possible to use c# for free? Which tools would you use?

  1. For fun / studying : I'm pretty sure you can, but still, the tools question remains.
  2. For programs you wish to sell?

The tools I'm looking for :

  1. IDE (as complete as possible, debugging, refactoring, libraries, intellisense, ...)
  2. If not in IDE, compiler
  3. Unit Testing
  4. Documenting (extracting comments eg, cf javadoc)
  5. Deploying

Other suggestions for nice free tools welcome.

Before you answer : Visual Studio Express is NOT offering all this tools as some seem to think.

+4  A: 

You can download Visual Studio Express. It includes all that you are asking for. Here is the linky :)

Good luck!

http://www.microsoft.com/express/download/

hahuang65
It doesn't include unit-test and document generator , also doesn''t have any tools for deployment.
mm, If think it's a pitty your info seems to be wrong...Why you are claiming that it has unit-testing and doc generator? Or is Yossi mistaking here?
Peter
Nah, I'm mistaken. I'm not too familiar with Visual Studio Express. I occasionally use Visual Studio Standard, but mostly I'm a UNIX programmer. I was under false impressions. You guys are correct :)
hahuang65
haha, kudo's, but you still got the points though :-) but you're welcome to it
Peter
As to deployment, the Express versions use the ClickOnce deployment method. I think that is the only one available.
Chris Dunaway
+1  A: 

http://www.microsoft.com/express/vcsharp/

https://www.dreamspark.com/Products/ProductList.aspx (if you're a student:)

dig
tx, if you're a student, also check out Vimvq1987, that's the option I'm using right now
Peter
+2  A: 

Visual Studio 2008 Express, (or Visual C# 2008 Express, if you don't want to use other languages) is a good choice. It's free.

Non-Microsoft, try SharpDevelop

Edit: if you are a student, and your university is MSDN AA certificated, you can get Visual Studio 2008 Professional for free. Yes, free.

Vimvq1987
Indeed, I'm using AA right now, but not forever, hence my question
Peter
Even if your university isn't AA certificated, you can get access through DreamSpark, which only requires an ISIC (international student identification card).
Marcel J.
+2  A: 

Look at Visual C# Express for your IDE and compiler, NDoc for your documentation, MbUnit or NUnit for unit testing, and I believe C# Express will handle deployment as well.

Volte
Tx man, (fyi : I'm reading comparison right now, express has indeed a kind of deployment (clickonce) but no MSI)
Peter
In that case, check out Inno (http://www.jrsoftware.org/isinfo.php) or Nullsoft's NSIS (http://nsis.sourceforge.net/Main_Page)
Volte
+4  A: 
  1. Visual C# express edition
  2. Visual C# express edition
  3. Nunit
  4. SandCastle
  5. Don't know , I'll let someone else answer that.
Why using NDoc and NUnit if VS express already has that?Or is the opinion higher up (hahuang65) incorrect?
Peter
+10  A: 

1.. IDE (as complete as possible, debugging, refactoring, libraries, intellisense, ...)

Visual C# Express 2008. It has a subset of Professional Edition's features, but all that you have mentioned. High school and university students are eligible for free licence of VS Professional from Dreamspark.

Sharp Develop

Mono Develop

2.. If not in IDE, compiler

csc.exe, vbc.exe and msbuild.exe are a part of .NET Framework. Windows SDK tools is also free. Or you can use compiler from mono project.

3.. Unit Testing

NUnit, mbUnit, xUnit and many, many others.

4.. Documenting (extracting comments eg, cf javadoc)

GhostDoc - not for Express Edition :(

5.. Deploying

NAnt, Cruse Control .NET

Jozef Izso
GhostDoc creates comments, it doesn't extract them. Sandcastle can extract doc comments.
Steve Haigh
An alternative to Sandcastle is DocN.
Bevan
Apologies, I got the name wrong - it's DocU: http://docu.jagregory.com/
Bevan
+1  A: 

Also look at WiX for deploying - this allows you to create MSI files.

Steve Haigh
+2  A: 

Using an answer because there's too much to say for a comment ...

The question author says:

Visual Studio Express is NOT offering all this tools as claimed!!

to which I asked

What doesn't C# Express provide that you want?

The reply was

serious deploying, unit testing, documenting if i am correct

I think that you can get what you want with Visual Studio Express. Here's how. Also, see my Conclusions below.

Deployment

Visual Studio Deployment projects are certainly missing from Visual Studio Express, but frankly that's not much of an omission. The whole feature is half baked, good enough to tick off a feature list, good enough for toy deployments but (in my opinion anyway) not really up to the rigors of the real world.

Windows Installer XML (WiX) is an open source toolkit from Microsoft (no, that's not a typo) for creating installers. The installer for Microsoft Office 2007 was reportedly built with WiX, so it's reasonable to believe that it can handle any smaller case.

Another installation tool is the Nullsoft Scriptable Install System, perhaps easier to understand than WiX, but also not using with the MSI technology built into windows and therefore harder to manage in the Enterprise case.

Unit Testing

The Microsoft testing framework is MSTest, and while it's up to the task, it's not the leader of the pack. In fact, if you google around for reactions to MSTest, you'll find many who think it a ripoff of NUnit.

There was a time that you could integrate any of the test tools into Visual Studio Express, using Test Driven.Net, though that no longer works.

What does work is to use the external runner programs for your unit testing tool - all of the major unit testing frameworks come with them. When using VS Express myself, I tend to have the test runner hanging around in the background; rerunning tests then just involves a task switch.

NUnit is the grandaddy of the .NET testing frameworks, and it works very well. There are others around though, such as mbUnit and xUnit.

Documentation

No version of Visual Studio has a good story for documentation. In fact, they all have the same story - a compiler switch to generate XML files based on the documentation comments.

To convert those XML files into real documentation, you need other tools. NDoc used to be the standard, but that project is unfortunately now dead (quite a sad tale). Sandcastle (another Microsoft Open Source project) is likely to become the new gold standard, but the tool isn't yet as mature and easy to use as we would like. DocU is a new release in this field, might be worth followup.

Conclusions

As you can see, there are good ways to achieve the goals you want, even using Visual Studio Express. In fact, there are only two things you'll gain from moving up to a paid version of Visual Studio.

  1. You'll get MSTest, if you want it.
  2. You'll be able install extensions/plugins like TestDriven.NET and Resharper.

For someone getting started, I don't think the value proposition is there. Start with the free tools and spend money when you have enough experience to spend it well.

Bevan
Tx Bevan, I think this post is very helpful! I voted you up for it,tx.
Peter
+3  A: 
  1. IDE (as complete as possible, debugging, refactoring, libraries, intellisense, ...)
    => Sharpdevelop (#develop) an Open Source IDE for .Net with support for multiple languages.
  2. If not in IDE, compiler
    => As mentioned by Jozef
  3. Unit Testing
    => Sharpdevelop, NUnit integrated inside
  4. Documenting (extracting comments eg, cf javadoc)
    => Sharpdevelop, SandCastle and SHFB integrated
  5. Deploying
    => Sharpdevelop, WIX integrated.

Check out all the features for Shardevelop at SharpDevelop Features

Its free to create programs and sell. For fun you can develop some more features inside it :)

nils_gate
I have checked now, and voted you up, as well as other very useful answers hereTx all
Peter