FREE: Visual Studio Express 2012 for Windows Desktop
When the Visual Studio 2012 free versions were originally announced the first thing I noticed was that they had switched from a language-specific model (C# Express, VB Express, etc) to a target-specific model (Windows 8, Web). However, I was very surprised (and disappointed) that there was no free way to make Console Apps, or Windows Forms apps, or anything for the Windows Desktop. I wasn't the only one who thought this was a problem. Shortly thereafter (with a lot of people pushing) Soma announced there would be a "Windows Desktop" Express version for free. He said:
...we heard from our community that developers want to have for Windows desktop development the same great experience and access to the latest Visual Studio 2012 features at the Express level.
Today, I’m happy to announce that we will add Visual Studio Express 2012 for Windows Desktop to the Visual Studio 2012 family. This will bring to the Visual Studio Express family significant new capabilities that we’ve made available in Visual Studio 2012 for building great desktop applications.
I'm glad folks realized that no-cost desktop software development is important. Open Source projects need free tools like the Express SKUs. Even better that the the Express Desktop SKU gets the new 2012 features as well.
Today Visual Studio has made Visual Studio Express 2012 for Windows Desktop available and you can go download it now free. The best part is that this one SKU supports C++, C#, and Visual Basic together. With this one free version you can make WinForms, WPF, Console or Class Libraries with any or all of Visual Basic, C#, as well as Win32 projects, class libraries, and CLR apps using C++. You can also, of course, combine projects over multiple languages into a single solution. You can target both .NET 4.0 and 4.5.
NOTE: You might wonder, what about a free F#? Why isn't F# included? We've got a free download to add F# support to the free Visual Studio Express 2012 for Web!
Related Links
- Download page for Visual Studio 2012 for Windows Desktop (Web Installer or ISO)
- Product page and Details for VS2012 for Windows Desktop
- F# Tools for Visual Studio 2012 Express for Web (you *don't* need this if you have Pro already, this is just for Express for Web)
While Express SKUs don't allow arbitrary add-ins (you need Pro for that) the free SKU does include Unit Testing, Code Analysis, as well as the NuGet package manager. It's a bit of a nice coup for my little group that NuGet is now included in ALL Visual Studio 2012 SKUs, even Express ones. Package management is finally happening in .NET.
In the screenshot below I've added a C++ Console app, a Window Forms C# app and a C# Console to a single solution in VS2012 using Express for Windows Desktop.
Just to illustrate one of the reasons I think a free "Desktop" SKU is so important, I wanted to share a cool open source project I found recently called Topshelf. It's a library for making Windows Services easier to write using .NET. It's up on GitHub under an Apache license. The easiest way to get Topshelf is with NuGet with simply "install-package Topshelf". Topshelf has some impressive documentation as well, especially for an open source project!
Here's a simple Windows Service with a basic heartbeat timer using Topshelf:
public class TownCrier
{
readonly Timer _timer;
public TownCrier()
{
_timer = new Timer(1000) {AutoReset = true};
_timer.Elapsed += (sender, eventArgs) => Console.WriteLine("It is {0} an all is well", DateTime.Now);
}
public void Start() { _timer.Start(); }
public void Stop() { _timer.Stop(); }
}
public class Program
{
public static void Main()
{
HostFactory.Run(x => //1
{
x.Service<TownCrier>(s => //2
{
s.ConstructUsing(name=> new TownCrier()); //3
s.WhenStarted(tc => tc.Start()); //4
s.WhenStopped(tc => tc.Stop()); //5
});
x.RunAsLocalSystem(); //6
x.SetDescription("Sample Topshelf Host"); //7
x.SetDisplayName("Stuff"); //8
x.SetServiceName("stuff"); //9
}); //10
}
}
Topshelf even has nice Log4net and NLog integration. Anyway, this is just the kind of powerful, useful, and interesting open source library that could be helped by a free Express SKU for Desktop. I'm not involved directly (yet ;) ) in making decisions this high up, but I (and many, many others) inside and out continue to advocate for balance. In this case I'm very glad that the decision was made to ship this SKU and I hope you all find it useful whether you work in open source or in education.
There's more details over at the Visual Studio blog and the team is watching the comments.
This week's sponsor: Be part of GENERATION APP. Your Idea. Your App. 30 Days. Begin your 30-day journey to create a Windows Store style app and talk 1-on-1 with a Windows 8 app development pro. Get started today.
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
About Newsletter
http://stackoverflow.com/questions/12197771/no-syntax-highlighting-or-intellisense-for-c-sharp-files-in-vs-2012
I removed and oh magic... highlighting is back
incomprehensible!
One question though, when you say SKU, I think "Stock Keeping Unit" - is that the definition you intend here?
I was concerned when I saw that MS was limiting VS2012 Express to the "Web" and "Windows 8" platforms. I think this addition is a smart move. As a user of the full pro version, I make these points not because I want "more for free." But I remember being daunted by the cost of entry to get full-function tools for working in the MS ecosystem, as compared to what is available elsewhere.
Going forward, it would be great if MS were able to create an OSS-targeted version of the VS toolkit, and possibly a suitable licensing strategy such that the developer or team were able to access everything necessary to produce large scale OSS projects, so long as the project was released under an OSS license.
Or something.
Here's to the evolution of a first-class development platform, either way!
I cut my web development teeth on my own with PHP Development Tools for Eclipse, and found that it did what I needed. Later I got into .NET at a new job, and developed a desire to write .NET side-projects at home without fear that the man might do something nefarious. This led me to use Express instead of employer-supplied tools. VS Express is tight in a way I could not get Eclipse to be at that time (and possibly out of ignorance).
If there is a complaint it is that VS Express is too tight, and yet with the inclusion of NuGet that complaint is marginalized (though I do wish I could install a T4 highlighting extension). Still, VS Express comes setup with just what you need like easy-as-falling debugging, a ready to run web server and database, and now includes unit testing (thank you very much for that, I love NUnit and the tools that support it, but to be able to test and step through code in unison from Express is a fantastic gift)!
I have found that Express gives me all the freedom I need for personal projects, all the features I enjoy, and if ever I truly need solution folders then surely my personal projects are bringing in some money and the purchase of another edition can be justified. Phil, the Scotts, and others are to be applauded for contributing to the greater development community.
Well, yesterday I opened sln that was made in Pro version, and Express was displaying solution folders...unless it was just my dream, need to recheck:)h
If i'm testing out how to write some windows 8 metro app that also has a desktop version, that gets it's data from my own asp.net web api, I don't want to go trough the hassle of installing 3 different Visual studio editions, with a different configuration
Can't we just get a "visual studio express" that has all express editions in one?
Having been to DevConnections last week, and worked with VS2012's Ultimate RC for some months prior, I can tell you that there's a boat load of really great stuff in VS2012, and that MS gives a lot of things that at very least I want. I know a whole bunch of people who are of my same mindset. So I have to wonder (because you weren't anywhere near specific) what it is that bothers you about VS 2012 and about Windows 8. What could you possibly expect Scott to relay? A general feeling of vague complaint from an unsubstantiated "lot of people?" How could that possibly lead to any kind of improvement, let alone the kind that would change your opinion?
I'm also very happy about how much free info is out there for people to learn this technology. Scott -- you're a really big part of that.
The only thing I can claim (at the moment) to be a bit disappointed by is how difficult it seems to be to find specifics about what can and can't be done by the express editions. What are its capabilities, and more importantly its limitations? There's a semblance of what I'd be looking for in the 2012 editions comparison chart. Maybe a chart pitting the Pro version vs Express?
If you do a quick search on the web you will see many coders complaining for this simple quite powerful workflow improvement.
Please push Microsoft to bring it back in :)
Thanks, John.
Jordi
Thanks!
Comments are closed.
Overall, the fact it's not divided into languages versions seems damn good to me, and the fact it contains some useful basic additions makes it even better.
Keep up the good work!