辨析Visual Studio 2010 RC中WPF开发的改进

日期: 2010-03-02 作者:helloj2ee 来源:TechTarget中国 英文

  Visual Studio 2010 RC可以说就是未来Visual Studio 2010正式版的雏形,大致上将没有太多的变化。本文作者将为大家介绍Visual Studio 2010 RC中关于WPF开发方面的改进。

  目前,我正在将过去VS2008的程序移植到Visual Studio 2010 RC上。当然也会发现细节上的不同之处。写出来和大家分享。

  X个不同之一,用X主要是我实在是不知道会有多少个不同。权且就用X代替了。先说今天发现的吧。

  很多人建立一个WPF程序,喜欢新建一个WPF标准程序,当然我也不例外。不过有时 我也喜欢手工建立一个WPF应用程序,这样做我坦言很大程度上是满足一下自己小小的虚荣心。让一个新手看你的时候,眼神中流露出一种无尽崇拜的光芒,这种光芒是一种鸦片,会上瘾的。

  比如使用写字板新建一个hellowpf.cs文件。然后键入如下代码:

using System;
  using System.Windows;
  class hellowpf  {
      [STAThread]
      public static void Main()
      {
          Window win = new Window();
          win.Title = “Hello mumu!”;
                 win.Width = 300;
                  win.Height = 200;
                  win.Show();
                    Application app = new Application();
          app.Run();
      }  }

  手工编译,可以使用开始菜单->所有程序->Microsoft Visual Studio 2010->Visual Studio Tools->Visual Studio 2010 Command Prompt,然后启动VS2010的命令行窗口,在里面键入编译命令。在过去VS2008下的编译命令如下所示:

csc hellowpf.cs /reference:”C:Program FilesReference AssembliesMicrosoftFrameworkv3.0presentationframework.dll”  /reference:”C:Program FilesReference AssembliesMicrosoftFrameworkv3.0windowsbase.dll” 
/reference:”C:Program FilesReference AssembliesMicrosoftFrameworkv3.0presentationcore.dll”

  这句话的意思是使用csc命令来编译hellowpf该文件,还有需要引用三个程序集分别是presentationframework.dll,windowsbase.dll和presentationcore.dll。实际上一个典型的WPF程序至少需要四个程序集,还有一个是System.dll。由于默认情况下,已经引用了System.dll,因此不用显示地引用该dll。

  我查看了一下安装了Visual Studio 2010 RC之后的引用程序集所在的目录。这三个Dll均在C:Program FilesReference AssembliesMicrosoftFramework.NetFrameworkV4.0之下。于是这个编译命令可以想当然地改成下面的样子

csc hellowpf.cs /reference:”C:Program FilesReference AssembliesMicrosoftFramework.NetFrameworkV4.0presentationframework.dll”
  /reference:”C:Program FilesReference AssembliesMicrosoftFramework.NetFrameworkV4.0windowsbase.dll”  /reference:”C:Program FilesReference AssembliesMicrosoftFramework.NetFrameworkV4.0presentationcore.dll”

  事实告诉我们“想当然”多半是想当然地错。

  编译完毕会提示 缺一个称之为System.Xaml.dll的程序集,换句话说过去一个典型的WPF程序只需要四个程序集的时代结束了,它还需要一个System.xaml.dll的程序集 由四人帮变成了五朵金花。因此编译命令应该写成如下,才能成功。

csc hellowpf.cs /reference:”C:Program FilesReference AssembliesMicrosoftFramework.NetFrameworkV4.0presentationframework.dll”
 /reference:”C:Program FilesReference AssembliesMicrosoftFramework.NetFrameworkV4.0windowsbase.dll”  /reference:”C:Program FilesReference AssembliesMicrosoftFramework.NetFrameworkV4.0presentationcore.dll”  /reference:”C:Program FilesReference AssembliesMicrosoftFramework.NetFrameworkV4.0system.xaml.dll

  这是Visual Studio 2010 RC和过去VS2008X个不同之一,现总结如下:

  在过去VS2008的程序里,一个最为简单的WPF程序至少需要四个程序集 system.dll,presentationframework.dll,windowsbase.dll和presentationcore.dll.

  而Visual Studio 2010 RC里,需要五个程序集,除去前面的四个,还有System.xaml.dll。

  由此也带来了一个问题,这个System.xaml.dll在这样一个简单的WPF程序里起到了什么作用?在下面链接里我搜索到了相关的资料http://ks.cn.yahoo.com/question/1409112400066.html 列出该资料的意思 不是说Helloj2ee找到了答案,而是所如果有大哥乐于作答 请不要在贴上这个链接了。而是给除更为翔实的资料。

  此外在Visual Studio 2010 RC当中 还有一个不同 由于颇为细枝末节,不容易单独成文,因此就在这里提出:

  Helloj2ee安装了Visual Studio 2010 RC确实没有找到XAMLPad,为何?

  过去的XAMLPad通常都在Program FilesMicrosoft SDKsWindowsv6.0Abin目录下,安装了Visual Studio 2010 RC之后,目录改成了V7.0A,寻遍该目录也没有XAMLPad,试问为何?

  此为2008pack1下手工编译的示例:http://files.cnblogs.com/helloj2ee/2008.rar

  此为2010RC下手工编译的示例:http://files.cnblogs.com/helloj2ee/2010.rar

  随着SOA理论的发展,各种与SOA有关的规范和标准将不断出现,如SOAP、WSDL、ESB、BEPL语言等,它们的出现象征着SOA将逐步走向成熟。我们更应注意着各家公司所开发的工具和环境产品,有助于SOA的大力推广应用。

   上述十大理论体系应该认真掌握、灵活应用,更应该不断刨新。总之,SOA理念清晰、技术趋向成熟,实现不难、做好不容易,我们不要做重复工作,应经常交流,尽量少重复,一定能达到国际一流水平。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐