如何编译和运行单个类文件的cs文件?

很抱歉,如果这是微不足道的,我是Visual Studio的新手,我有一个项目,其中包含多个类文件(.cs)文件,如何单独运行每个文件。 每当我去调试时,它只选择一个.cs文件。 谢谢。

编辑:来自使用netbeans的java背景,可以在包中包含几个.java文件的包,前提是每个.java文件都有一个main方法,可以单独编译和运行。 在Visual Studio中可以使用这样的东西吗?

如果要选择运行哪个Main方法,可以在“ Startup Object下的“ Project -> Properties选择该方法。 需要满足各种要求(如静态),您一次只能选择一个。

如果要在多个静态类上调用main方法,则需要创建一个调用其他静态类的主方法。 您可能会变得复杂并使用reflection来搜索项目中的类,但它比静态调用它们要多得多。

通常,除非将其添加到单独的项目中,否则无法构建单个CS文件。 Visual Studio自动构建项目中的所有CS文件。

如果您只想构建单个文件,可以在文件设置中更改此文件:

单击您不想构建的文件,查看属性窗口(F4)。

在此处输入图像描述

将构建操作设置为“无”以禁用构建该文件。

由于OP来自Java背景,我认为值得以稍微不同的方式回答这个问题。

我理解OP有一些不同的C#类及其相应的static Main()方法(这些类中的每一个可能都是引导应用程序代码的不同方式),并希望在Visual Studio中启动应用程序时轻松切换它们。 所以,简短的回答是:没有简单的方法:(

首先,如果项目的输出类型是“类库”,则无法通过static Main()方法启动项目。 您需要将其更改为“控制台应用程序”或“Windows应用程序”才能启动它。 这与Java世界完全不同,您只需右键单击任何具有static main()方法的类,然后单击“Run as …”,“Java Application”。 在Java中,没有库项目/模块的概念,因此包含带有static main()类的项目是否是“库”并不重要。

其次,我找到的最简单的方法是(非常类似于Ray的回答):

  1. 右键单击项目,然后“属性”
  2. 在“应用程序”中,确保您的输出类型不是“类库”
  3. 将“Startup Object”更改为其static Main()是您要运行的类
  4. 右键单击您的项目,“Debug”,“Start New Instance”

不幸的是,我认为无法使用不同的类在VS的不同启动配置中保存相同的项目,因此您可以轻松地在它们之间切换。 AFAICS实现这一目标的唯一方法是在解决方案中创建新项目并配置它们以启动不同的主类。

您可以将static main(string[] args)方法添加到要运行的类中,或者在program.cs同一个类的对象,并在program.csmain()中调用所需的方法program.cs

Program.cs包含项目运行时要运行的内容。

 Application.Run(new Form1()); 

您可以使用它来选择要运行的任何类。

如果它是控制台应用程序,则仅运行具有入口点的类。

 static void Main(string[] args) { } 

只有该类将首先运行,其中包含“静态Main”方法。 将Main()方法添加到要首先执行的类中。

如果您需要更多帮助,请回复我。 希望这可以帮助。