views:

112

answers:

4

I'm going to make an MVC2 application using C#.

Which IDE can I use for free that will help me build this application? The different versions are very confusing to make out.

I'm going to be following this tutorial: http://nerddinnerbook.s3.amazonaws.com/Part1.htm

I see it makes use of Unit Testing. Can an express version do this?

+6  A: 

Yes.... you definitely can.

Get it here: http://www.microsoft.com/express/Web/

You can't do unit testing with Microsoft's testing framework when using the express edition. Which is not really a big deal. You can still use any of the many, many open source unit testing frameworks out there.

More about it in video on Channel 9: Noah Coad: An Overview of Visual Studio Express 2010

As an additional information: useful link to a page that compares in a table Microsoft Visual Studio versions and features: http://www.microsoft.com/visualstudio/en-us/products

Leniel Macaferi
zerkms added his answer while I was editing mine to include the unit testing part... :)
Leniel Macaferi
+2  A: 

In additional to Leniel:

I see it makes use of Unit Testing. Can an express version do this?

nope. Express version have not built in unit testing framework. Moreover Express cannot use plug-ins.

zerkms
You can still use external unit testing tools, like nunit. You just don't get it built-in to the IDE. ASP.NET MVC does not *use* unit tests, it *makes unit testing easier*.
Dean Harding
@codeka: indeed, but nUnit integration with VS Express looks weird in comparison to handy bundled unit testing framework.
zerkms
+1  A: 

You can use it for basic development. Although you can't use the built-in Visual Studio Unit Testing Framework for unit testing you can use Nunit by having it load and run tests on the test DLL that you create. However, it won't be able to step into the code for debugging the tests due to restrictions in the integration with test runners.

Turnkey
+2  A: 

You also can't add projects to your express solution so you can't have a model project, a helper project, a database project etc, in your solution.

you will need to write each of these as seperate projects, compile them and then reference them in your web application.

a pain in the neck but it will enforce good seperation of concerns. :)

griegs