C#代码命令行下编译和C#项目(Project)结构介绍
一、C#代码命令行下编译
在 Windows 8 和更高版本的操作系统上,.NET Framework 是一个操作系统组件,不需要安装,它里边就包含c#的编译器(csc.exe,csc的意思是C-Sharp Compiler即C#编译器)。若不想安装功能全但却庞大的visual studio可以按照本文的介绍体验一把C#编程。
C#的命令行编译程序叫做csc.exe,在使用的时候首先得把这个命令的所在目录加入到Path环境变量。这样会方便一些,免除每次都要输入完整目录的麻烦。
在cmd中使用windows自带的C#编译器csc.exe,可以编译C#源代码,它的位置在哪?wiin10中的路径在C:\Windows\Microsoft.NET\Framework或者C:\Windows\Microsoft.NET\Framework64,参见下图:
【顺便指出,还可以找到vb的编译程序vbc.exe】
C# 编译器选项
用命令编译器编译c#命令时候,我们每次都要键入csc.exe编译编译器所在文件的路径,如果每次编译都会消耗大量时间;我们可以再环境变量path中指定编译器的地址:系统变量里面,找到path,在后面加一个英文分号;让后.net的路径黏贴上去
C:\Windows\Microsoft.NET\Framework\v4.0.30319。
命令行基础知识
命令行下使用
csc –help 或csc /help可以了解帮助大概信息。
csc一般使用格式:
csc /out:[路径\]编译后的文件名 [路径\]要编译文件名
编译后的文件名扩展名为exe,可以带编译后的存放路径
如:
csc /out:d:\a12345\test.exe D:\a12345\test.cs
编译后的exe文件是可执行文件,双击它运行。
参数/out:编译结果的存放位置和名称
csc/out:e:\a.exe test.cs HelloMessage.cs
编译当前目录下的所有cs文件:
csc/out:e:\a *cs
测试代码1、一个个简单的C#应用程序.
using System;
class TestApp
{
public static void Main()
{
Console.WriteLine("Test! 测试1");
Console.ReadKey();
}
}
用记事本中输入上述代码,保存路径d:\a12345,文件名为 test1.cs
用win+R打开运行窗口:
输入cmd 回车或单击“确定”按钮
在cmd中输入
cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319
回车,切换到C#编译器所在的目录,如果已将上述目录(v4.0.30319 部分依据C#编译器版本不同)加入到环境变量path中则不需要如此。
输入
csc /out:d:\a12345\test1.exe D:\a12345\test1.cs
回车,将test1.cs,编译为test1.exe
运行,在d:\a12345目录中找到test1.exe,双击它:
测试代码2、引入System.Windows.Forms命名空间来生成Windows Forms程序
using System;
//一定要加上下面一行
using System.Windows.Forms;
class TestApp
{
public static void Main()
{
Console.WriteLine("Test2! 测试2");
MessageBox.Show("Hello...","Application");
Console.ReadKey();
}
}
用记事本中输入上述代码,保存路径d:\a12345,文件名为 test2.cs
输入
csc /out:d:\a12345\test2.exe D:\a12345\test2.cs
回车,将test2.cs,编译为test2.exe
运行,在d:\a12345目录中找到test2.exe,双击它:
测试代码3、多个源文件
//HelloMessage.cs
using System;
using System.Windows.Forms;
class HelloMessage
{
public void Speak()
{
MessageBox.Show("Hello!你好!");
}
}
用记事本中输入上述代码,保存路径d:\a12345,文件名为 HelloMessage.cs
//Test3.cs
using System;
class TestApp
{
public static void Main()
{
Console.WriteLine("Test3! 测试3");
HelloMessage h = new HelloMessage();
h.Speak();
}
}
在用记事本中输入上述代码,保存路径d:\a12345,文件名为Test3.cs
输入
csc /out:d:\a12345\test3.exe D:\a12345\test3.cs D:\a12345\HelloMessage.cs
或
csc /out:d:\a12345\test3.exe D:\a12345\*.cs
回车,将test3.cs和HelloMessage.cs,编译为test3.exe
运行,在d:\a12345目录中找到test3.exe,双击它:
例子是简单的,主要用来说明操作过程。
如果你想下载(Download)最新的 .NET的SDK(Software Development Kit,软件开发工具包)版本请到这里来.NET Downloads (Linux, macOS, and Windows)
弄清.NET中复杂的文件类型 https://www.cnblogs.com/zengxinle/archive/2010/10/29/1864587.html
二、C#项目(Project)结构
在此,介绍的是用Microsoft Visual Studio创建的C#项目(Project)的一般结构
在C#中,一个程序项目(Project)通常包含多个文件,这些文件可以分布在不同的文件夹(目录)中。在Visual Studio中,每个项目都会在“解决方案资源管理器”窗格中显示为一个节点,可以展开该节点以显示项目文件和文件夹。以下是一个常见的C#程序项目的文件夹和文件类型情况:
Solution文件夹:包含解决方案文件(.sln),这是整个项目的根文件,用于管理和组织项目。如果一个C#程序项目是作为一个解决方案的一部分存在,那么它还会包含一个解决方案文件。解决方案文件用于管理多个项目之间的依赖关系和构建顺序等信息。解决方案文件的扩展名通常是.sln。
项目文件夹:包含一个或多个项目文件夹,每个项目文件夹通常表示一个独立的项目模块或功能。项目文件夹的名称可以根据实际需求进行命。
源代码文件夹:在每个项目文件夹中,通常会有一个或多个源代码文件夹,用于存放源代码文件(.cs)。源代码文件包含程序的实际代码实现。
附加文件夹:除了源代码文件夹外,项目中可能还包含其他类型的文件夹,用存放各种附加文件,例如资源文件、配置文件、测试文件等。
项目文件:在每个项目文件夹中,会有一个或多个项目文件(.csproj),它们定义了项目的结构、依赖项和设置等信息,相当于项目的配置文件。
编译输出文件夹:在构建(build)项目时,生成的可执行文件或库文件通常会放置在一个指定的编译输出文件夹中,例如bin文件夹。
请注意,以上只是一个常见的例子,实际的项目结构和文件类型可能会因项目的特定需求而有所不同。
如何用Visual Studio打开他人的C#程序项目?
获取他人的C#程序项目文件夹
打开Visual Studio:在开始菜单中,找到Visual Studio并单击打开。
打开项目:在Visual Studio中,点击“文件”菜单,然后选择“打开”>“项目”。浏览到项目文件夹,选择解决方案文件(.sln),然后单击“打开”。这将加载项目并显示项目资源管理器。
在项目资源管理器中,您可以看到项目中的所有文件。双击项目文件(.csproj)可以打开项目,而双击解决方案文件(.sln)可以打开整个解决方案。您还可以单击文件以在编辑器中打开它们。
项目和解决方案简介 可见 https://learn.microsoft.com/zh-cn/visualstudio/get-started/tutorial-projects-solutions?
备注 在 Visual Studio 中开发应用不需要用到解决方案和项目。 你可直接打开包含代码的文件夹,然后便可开始进行编码、生成和调试。 例如,克隆的 GitHub 存储库可能不包含 Visual Studio 项目和解决方案。可见https://learn.microsoft.com/zh-cn/visualstudio/ide/develop-code-in-visual-studio-without-projects-or-solutions?
Visual Studio 官方使用文档 https://learn.microsoft.com/zh-cn/visualstudio/get-started/visual-studio-ide