免费的Visual Studio Express 2012 for Windows Desktop

[原文发表地址]  FREE: Visual Studio Express 2012 for Windows Desktop

[原文发表时间] 2012-09-13 7:06

当最初公布 Visual Studio 2012免费版本时,我注意到的第一件事是它们从一个特定于语言的模型 (C# Express版、 VB Express等) 转换到了特定于目标的模型 (Windows 8,Web)。然而,我当时很惊讶 (和失望)没有免费的方式来制作控制台应用程序,或者 Windows Forms应用程序,或任意东西来用于 Windows Desktop。我并不是唯一一个认为这是一个问题的人。不久之后 (带着很多人的推动) Soma 宣布将推出一个"Windows Desktop" Express 免费版本。他说:

Visual Studio Express 2012 for Windows Desktop … … 我们从社区中听说开发人员想要一个针对Windows 桌面开发的同样杰出的体验,并想获得最新的 Visual Studio 2012 Express级别的功能。

今天,我很高兴地宣布我们将添加 Visual Studio Express 2012 for Windows Desktop Visual Studio 2012 产品系列中。这将为 Visual Studio Express产品系列带入重大的新功能,并且在 Visual Studio 2012中,我们将启用这些功能来构建杰出的桌面应用程序。

我很高兴,人们意识到无成本桌面软件开发是很重要的。开放源码项目需要像Express SKU 之类的免费工具。更好的事情是Express Desktop SKU 也拥有新的 VS 2012的功能。

今天 Visual Studio 已将Visual Studio Express 2012 for Windows Desktop 作为可用了,你现在可以去免费下载它了。此SKU最好的部分是一起支持 C + +、 C# 和 Visual Basic。拥有了这一免费版本,你可以使用Visual Basic、 C#制作WinForms 、WPF、控制台、类库,以及使用C+ + 制作 Win32 项目、 类库和 CLR 应用程序。当然您还可以将多种语言的项目结合成为一个单个的解决方案。您可以指向.NET 4.0 和 4.5。

注: 您可能想知道,免费的 F #怎么样呢?为什么不包括F #?我们已经得到了一个免费下载来添加 F # 支持到免费的 Visual Studio Express 2012 for Web中 !

相关的链接

虽然Express SKU 不允许任意外接程序 (您需要 Pro),但是免费的 SKU包括单元测试、 代码分析,以及 NuGet 软件包管理器。NuGet 现已列入所有 Visual Studio 2012 SKU中,甚至包括在Express中, 这对于我的小组来说个不错的改变,软件包管理最终发生在.NET 中。

在下面的截图中,我使用Express for Windows Desktop,已经添加了一个C+ + 控制台应用程序、 一个C# Window Forms应用程序和 C# 控制台到在一个单个的VS2012解决方案中。

image

只是为了说明我认为免费的" Desktop "SKU是如此重要的原因之一,我想要分享一个我最近发现的、非常酷的、称为Topshelf开放源码项目。这是一个使用.NET让 Windows Services更易于编写的库。它在GitHub上的Apache 许可证下使用Nuget获取Topshelf的最简单的方法就是"install-package Topshelf"。Topshelf 还有一些令人印象深刻的文档,尤其是对于一个开放源码项目 !

下面是一个简单的 Windows Service,使用 Topshelf,有一个基本的心跳计时器:

    1: public class TownCrier
    2: {
    3:     readonly Timer _timer;
    4:     public TownCrier()
    5:     {
    6:         _timer = new Timer(1000) {AutoReset = true};
    7:         _timer.Elapsed += (sender, eventArgs) => Console.WriteLine("It is {0} an all is well", DateTime.Now);
    8:     }
    9:     public void Start() { _timer.Start(); }
   10:     public void Stop() { _timer.Stop(); }
   11: }
   12:  
   13:  public class Program
   14: {
   15:     public static void Main()
   16:     {
   17:         HostFactory.Run(x =>                                 //1
   18:         {
   19:             x.Service<TownCrier>(s =>                        //2
   20:             {
   21:                s.ConstructUsing(name=> new TownCrier());     //3
   22:                s.WhenStarted(tc => tc.Start());              //4
   23:                s.WhenStopped(tc => tc.Stop());               //5
   24:             });
   25:             x.RunAsLocalSystem();                            //6
   26:  
   27:             x.SetDescription("Sample Topshelf Host");        //7
   28:             x.SetDisplayName("Stuff");                       //8
   29:             x.SetServiceName("stuff");                       //9
   30:         });                                                  //10
   31:     }
   32: }

Topshelf 甚至有不错的 Log4net 和 NLog 集成。不管怎么说,通过一个免费的Express SKU for Desktop,它是那种强大的、 非常有用而有趣的开放源码库。我并不直接参与作决定,但我 (和其他很多、 很多人) 内外继续倡导平衡。在这种情况下,我很高兴看到作出推出此SKU的决定,我希望你们都觉得它是有用的,无论你是致力于开放源码还是教学方面。

在 Visual Studio 博客上有更多Visual Studio Express 2012 for Windows Desktop的详细信息,该团队正在查看评论。