vb.net解决方案讲解
Visual Studio .NET 提供了两个容器:解决方案(solution)和项目(Project:工程,项目)。查看和管理这些容器及其关联项的界面是解决方案资源管理器(solution explorer),它作为集成开发环境(IDE) 的一部分提供。
一个解决方案由一个或多个项目组成。每个项目容器通常包含多个项(应用程序所需的引用、数据连接、文件夹和文件),有很多项是系统生成的。
项目,通俗的说,一个项目可以就是你开发的一个软件。
下面针对Visual Studio .NET中的VB.NET的解决方案,做一个简单的介绍:
一个稍微复杂一点的软件,都需要很多模块来组成,为了体现彼此之间的层次关系,利于程序的复用,往往需要多个项目,每个项目实现不同的功能,最后将这些项目组合起来,就形成了一个完整的解决方案(solution)。形象地说,解决方案就是一个容器,在这个容器里,分成好多层,好多格,用来存放不同的项目。建立解决方案后,会建立一个扩展名为.sln的文件。
下面是一个用VB.NET开发的简单的项目的组织结构:
命名空间,常用如下:
System 根命名空间,提供所有应用程序都使用的功能,如类型、回收器、属性、异常等。
System.Data 实现ADO.Net功能,数据访问
System.Drawing 提供GDI+功能
System.Windwos.Forms 提供创建窗体应用程序功能
System.XML 处理XML的类
VB.net的窗体文件后缀vb,如Form1.Designer.vb。
.resx 文件 如Form1.resx 文件,属于资源文件,一般都是自动生成的,由 XML 组成,可以加入任何资源。在 System.Resources 名字空间中有专用读写的类。
窗体应用程序直接从一个窗体启动(例如启动对象设置为Form1),启动时会自动加载Form1.Designer.vb获得控件信息(窗体设计器自动生成),Form1.vb获得你编写的代码和事件处理程序。VS2003时界面代码和程序代码是在一个文件上的,而VS2005把它们分开了,Form1.Designer.vb保存界面代码,form1.vb保存程序代码。
Form1.Designer.vb可以用记事本打开,内容类似如:
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>_
Partial Class Form1
Inherits System.Windows.Forms.Form
'Form 重写 Dispose,以清理组件列表。
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Windows 窗体设计器所必需的
Private components As System.ComponentModel.IContainer
'注意: 以下过程是 Windows 窗体设计器所必需的
'可以使用 Windows 窗体设计器修改它。
'不要使用代码编辑器修改它。
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.TextBox1 = New System.Windows.Forms.TextBox()
Me.Button1 = New System.Windows.Forms.Button()
Me.SuspendLayout()
'
'TextBox1
'
Me.TextBox1.Location = New System.Drawing.Point(21, 16)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(99, 21)
Me.TextBox1.TabIndex = 0
'
'Button1
'
Me.Button1.Location = New System.Drawing.Point(144, 16)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(75, 23)
Me.Button1.TabIndex = 1
Me.Button1.Text = "Button1"
Me.Button1.UseVisualStyleBackColor = True
'
'Form1
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 12.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(244, 149)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.TextBox1)
Me.Name = "Form1"
Me.Text = "Form1"
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
Friend WithEvents Button1 As System.Windows.Forms.Button
End Class
对上面Form1.Designer.vb文件简要说明:
第一部分是重写释放资源
第二部分组件的初始化
先添加新控件
再分别设置初始值(TextBox1,Button1)
最后加入控件集合中
注意,为了提高效率,先用SuspendLayout()暂停布局,在所有设置妥当后,再ResumeLayout()恢复布局,
第三部分(最后两句)指明响应相应控件的事件
Form1.vb也可以用记事本打开,保存Form1这个窗体类程序代码。
vb.net生成的程序项目(Project:工程,项目)所在的文件夹(目录)情况如下:
。
提示:根据VS不同的版本,及创建项目复杂程度,文件夹(目录)情况是不同的。
一个解决方案中含有多个项目,如何才能执行我想运行的项目?
在项目名上右击,运行项目。
VB.NET的文件类型
.SUO: VS.NET方案用户选项文件。它用于存储特定用户的设置。VS.NET中的源控制集成包使用这一文件存储Web项目的转换表、项目的离线状态、以及其它项目构建的设置。
.SLN: VS.NET 方案文件,包括:包含在解决方案中的项目信息,以及通过属性窗口访问全局构建设置。
.VBPROJ: VB.NET项目文件。
.vb: 包含VB.NET 源代码的文件。这个是代码文件。
.designer.vb: 窗体设计文件,包括窗体控件类资料
.resx: 用于编辑和指定程序来源的文件。
如果你编译程序,将生成一个.exe文件,在bin文件夹中。同时,也生成一个.pdb文件。这一.pdb文件包括编译与项目状态的信息。
等等
打开已存在的工程(Project:工程,项目)时,可以打开vbproj文件或sln文件。打开sln文件是可以启动工程的,那是因为sln文件有工程文件的入口,sln是以解决方案的方式启动,打开vbproj文件,则是以工程的名义启动的。
本文重点小结:
vb.net生成的程序项目(Project:工程,项目)所在的文件夹(目录),你可以找到浏览看看,以便增加感性认识,包括
主要文件如下:
.sln 解决方案文件 存储和定义一组项目关联 配置等信息,解决方案(solution)文件(后缀为sln的文件)表示一个项目组,他通常包含一个项目中所有的工程文件信息。 自动生成的。
.vbproj 项目文件 存储项目的相关信息 如窗体 类应用等,这个工程(Project:工程,项目)文件是非常重要的。这个文件在转移工程时,不要删除。我们打开别人的项目,一些设置已经保存于此,如果只是拷贝代码文件,这些信息就不见了,就可能导致工程无法正常打开编译运行。 自动生成的。
.vb 代码模块文件 包括窗体文件、类模块等,你输入代码的存储文件。
.resx 资源文件。 自动生成的。
可执行文件(.exe文件)在bin文件夹中
主要子文件夹(子目录):
bin
打开已存在的工程(Project:工程,项目)时,可以打开vbproj文件或sln文件。打开sln文件是可以启动工程的,那是因为sln文件有工程文件的入口,sln是以解决方案的方式启动,打开vbproj文件,则是以工程的名义启动的。
附录:Visual Studio、VB、.NET、.NET Framework
Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。1997年,微软发布了 Visual Studio 97。包含有面向 Windows 开发使用的Visual Basic 5.0、Visual C++ 5.0,面向Java开发的Visual J++和面向数据库开发的 Visual FoxPro。1998 年,微软发布了 Visual Studio 6.0,所有开发语言的开发环境版本均升至 6.0。之后,微软开始推广 .NET战略,2002 年,随着 .NET的大力推广,微软发布了 Visual Studio.NET,成为基于 NET Framework之上集成开发环境,从中剥离了 Visual FoxPro ,此同时,引入了建立在 .NET Framework上的托管代码机制以及一门新的语言C#(读作 C Sharp),Visual Basic、Visual C++ 都发生了变化,被扩展为支持托管代码机制的开发环境。至2019年4月2日,微软发布Visual Studio2019。
.NET 是一个通用开发平台标准。 它具有几项关键功能,例如支持多种编程语言、异步和并发编程模型以及本机互操作性,可以支持跨多个平台的各种方案。 .NET 实现包括 .NET Framework、.NET Core 和 Mono。 .NET 的所有实现都遵守一个名为 .NET Standard 的通用 API 规范。
.NET Core 是开放源代码通用开发平台,跨平台,支持 Windows、macOS 和 Linux,并且可用于生成设备、云和 IoT 应用程序。
Mono是一个由Xamarin公司所主持的自由开放源代码项目。跨平台,不仅可以运行于Windows系统上,还可以运行于Linux、macOS上。
.NET Framework 是用于为 Web、Windows、Windows Server 和 Microsoft Azure 构建应用的开发平台。 它包含公共语言运行时 (CLR) 和 .NET Framework 类库,其中包括各种功能和对许多行业标准的支持。.NET Framework 提供许多服务,包括内存管理、类型和内存安全、安全性、网络和应用程序部署。 它提供易于使用的数据结构和 API,将较低级别的 Windows 操作系统抽象化。 可在 .NET Framework 中使用不同编程语言,如 C#、F# 和 Visual Basic。