• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#高级编程:创建项目

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

安装好Visual Studio .NET 2003后,就可以开始编写第一个项目了。在Visual Studio .NET中,很少从一个空白文件开始,从头键入C#代码,就像本书前面章节那样(当然,如果确实要从头开始编写代码,该IDE也提供了空应用程序项目选项)。编写项目的方式一般是先告诉Visual Studio .NET要创建什么类型的项目,然后Visual Studio .NET会自动生成文件和C#代码,给出该类型项目的基本框架。接着,用户就可以在其中添加自己的代码了。例如,如果要编写一个基于Windows GUI界面的应用程序(.NET中,这称为Windows窗体)Visual Studio .NET就会建立一个文件,其中包含的C#源代码创建了一个基本窗体,这个窗体可以与Windows通信,接收事件。它还可以最大化、最小化、重新设置大小,用户只需在其中添加控件或其他功能。如果应用程序要设计为命令行工具(控制台应用程序)Visual Studio .NET就会提供一个基本命名空间、类和Main()方法。

最后,在创建项目时,Visual Studio .NET还设置了提供给C#编译器的编译选项—— 无论项目是编译为命令行应用程序、库,还是编译为Windows应用程序。它还告诉编译器需要引用的基类库(Windows GUI应用程序需要引用许多Windows.Forms相关的库,控制台应用程序则不需要)。当然如果必要,用户可以在编辑时,修改这些设置。

在第一次启动Visual Studio .NET时,出现的窗口称为Start Page,如图12-4所示。这个Start Page是一个HTML页面,其中包含各种链接,通过它们可以进入有用的网站,设置Visual Studio .NET的外观和配置(My Profile选项卡),打开现有的项目,或者启动一个新项目。

 12-4

这个屏幕图显示了使用Visual Studio .NET后的情形,其中有一个最近编辑的项目列表。单击其中的一个项目就可以打开它。

注意:

利用 My Profile选项,甚至可以改变Visual Studio .NET的外观,以匹配以前常用的开发环境。例如,可以设置Visual Studio .NET,使它的用户界面看起来类似于以前的VBC++ IDE。但要注意,这个选项只能改变各个窗口在屏幕上的位置。您将发现,大多数菜单、工具栏选项以及每个窗口的具体功能都是新的。

1. 选择项目类型

创建新项目时,既可以单击起始页面上的New Project按钮,也可以单击File菜单,选择NewProject。无论使用什么方式,都会显示New Project对话框,如图12-5所示,其中给出了可以创建的各种项目。

  12-5

该对话框要求用户选择Visual Studio .NET为用户生成的某种初始框架文件和代码、编译选项,以及编译代码所使用的编译器:C#VB.NETJ#Visual C++.NET编译器。从这里可以看出,Microsoft.NET提供了多种语言集成。对于本例,我们选择了C#控制台应用程序。

注意:

这里不打算介绍不同类型的项目的所有选项。在C++方面,Visual Studio .NET可以创建所有旧的C++项目类型—— MFC应用程序、ALT项目等。在VB.NET方面,选项有一些变化,例如,可以创建VB.NET命令行应用程序(控制台应用程序).NET组件(类库)或者.NET控件(Windows控件库),但不能创建基于COM的旧风格的控件(.NET控件可以取代这种ActiveX控件)

12-1列出了Visual C# Projects下所有可用的选项,以及详细讨论这些选项的章节。注意,在Other Projects选项下还有一些比较专业的C#模板项目。

  12-1

得到的C#代码和编译选项将生成

 

Windows Application

响应事件的基本空窗体

19

Class Library

可以由其他代码调用的.NET

13

Windows Control Library

可以由其他代码调用的.NET 类,它有一个用户界面(类似于旧风格的ActiveX控件

19

Samrt Device Application

利用.NET Compact Framework建立智能设备应用程序的应用程序类型

ASP.NET Web Application

基于ASP.NET的网站:ASP.NET页面和C#类生成的、从页面发送给浏览器的HTML响应

25


ASP.NET Web Application

用作可操作的Web服务的C#

27

  (续表)

得到的C#代码和编译选项将生成

 

ASP.NET Mobile Web Service

允许建立面向移动设备的ASP.NET页面的应用程序类型

27

Web Control Library

可以由ASP.NET页面调用的控件,在浏览器上显示这个控件时,可生成给出该控件外观的HTML代码

26

Console Application

在命令行提示符上或控制台窗口中运行的应用程序

12

Windows Service

Windows NT Windows 2000的后台上运行的服务

32

Empty Project

没有任何代码。必须从头编写所有的代码,但在编写时仍拥有Visual Studio .NET 提供的全部功能

Empty Web Project

Empty Project一样,但设置了编译选项,告诉编译器为ASP.NET页面生成代码

New Project In Existing Folder

新的空项目文件。如果有一些C#源代码(例如,在文本编辑器中键入的代码)并要把它们转换为Visual Studio .NET项目,可以使用这个选项

 

2. 新建的控制台项目

在上述对话框中选择Console Application选项,单击OK按钮,Visual Studio .NET就会提供许多文件,包括一个源文件Class1.cs,其中包含了最初的框架代码。

屏幕图12-6显示了Visual Studio .NET编写的代码。

可以看出,这是一个C#程序,但它实际上没有做任何工作,只是包含了C#可执行程序所必须的基本项目:一个命名空间和一个包含Main()方法的类,其中Main()方法是程序的入口点。(严格说来,命名空间是不必要的,但不声明命名空间是一种不好的编程习惯)。按下F5键,或者选择Debug菜单中的Start,这段代码就可以编译和运行。在这样做之前,在程序中加入一行代码,让应用程序完成某个工作:

static void Main(string[] args)

{

  //

  // TODO: Add code to start application here

  //

  Console.WriteLine("Hello from all the editors at Wrox Press");

}

如果编译并运行了该项目,就会显示一个控制台窗口,但该窗口几乎立即就消失了,用户几乎看不到输出的信息。原因是在创建该项目,Visual Studio .NET记住了用户指定的设置,所以会把它编译并运行为控制台应用程序。然后,Windows知道需要运行一个控制台应用程序,但没有运行该程序的控制台窗口。所以,Windows就创建一个控制台窗口,并运行该程序。只要程序退出,Windows就认为不再需要该控制台窗口,因此就即时删除了它。这些都是非常逻辑化的操作,但如果希望能看到项目的输出结果,这些操作对用户就没有什么帮助。

  12-6

要避免这个问题,可以在Main()方法结束前**下述代码:

static void Main(string[] args)

{

  //

  // TODO: Add code to start application here

  //

  Console.WriteLine("Hello from all the editors at Wrox Press");

  Console.ReadLine();

}

这样,代码运行后,会显示其输出结果,之后执行Console.ReadLine()语句,用户按下回车键后,程序退出。这表示在用户按下回车键之前,控制台窗口一直会挂起。

注意这仅是在Visual Studio .NET中试运行控制台应用程序的问题。如果编写的是一个Windows应用程序,该应用程序显示的窗口会自动停留在屏幕上,直到用户显式退出程序为止。同样,如果在命令行提示符上运行一个控制台应用程序,就没有窗口消失的问题。

3. 其他文件的创建

Class1.cs源代码文件不是Visual Studio .NET创建的惟一文件。如果查看一下Visual Studio .NET创建项目的文件夹,就会看到其中不仅仅有C#文件,还有如图12-7所示的完整目录结构。

  12-7

文件夹binobj存储编译好的文件和中间文件,obj的子文件夹存储各种临时或中间文件,bin的子文件夹存储编译好的程序集。

注意:

传统上,VB开发人员只是编写它们的代码,然后运行它们。代码在发布前,必须编译成可执行文件,但VB在调试中隐藏了这个过程。而在C#中,这个过程是显式的:要运行代码,必须先编译它,即在某处创建一个程序集。

在项目的主文件夹BasicConsoleApp中,剩余的文件都是由Visual Studio .NET建立的,它们包含项目的信息,这样,Visual Studio .NET就知道如何编译项目,在下一次打开该项目时,知道如何读取它.


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap