很抱歉,如果这是微不足道的,我是Visual Studio的新手,我有一个项目,其中包含多个类文件(.cs)文件,如何单独运行每个文件。每当我去调试时,它只选择一个.cs文件。感谢。
编辑:来自使用netbeans的java背景,可以在包中包含几个.java文件的包,前提是每个.java文件都有一个main方法,可以单独编译和运行。在Visual Studio中可以使用这样的东西吗?
答案 0 :(得分:11)
如果要选择运行哪种Main方法,可以在Project -> Properties
下的Startup Object
中选择该方法。需要满足各种要求(例如静态),您一次只能选择一个。
如果要在多个静态类上调用main方法,则需要创建一个调用其他静态类的主方法。你可能会变得复杂并使用反射来搜索你的项目中的类,但它比静态调用它们要多得多。
答案 1 :(得分:9)
通常,除非将其添加到单独的项目中,否则无法构建单个CS文件。 Visual Studio自动构建项目中的所有CS文件。
如果您只想构建单个文件,可以在文件的设置中更改此文件:
单击您不想构建的文件,查看属性窗口(F4)。
将构建操作设置为“无”以禁用构建该文件。
答案 2 :(得分:8)
由于OP来自Java背景,我认为值得以稍微不同的方式回答这个问题。
我理解OP有一些不同的C#类及其相应的static Main()
方法(这些类中的每一个都可能是引导应用程序代码的不同方式),并希望在启动时轻松切换它们Visual Studio中的应用程序。
所以,简短的回答是:没有简单的方法:(
首先,如果项目的输出类型是“类库”,则无法通过static Main()
方法启动项目。您需要将其更改为“控制台应用程序”或“Windows应用程序”才能启动它。这与Java世界完全不同,您只需右键单击任何具有static main()
方法的类,然后单击“Run as ...”,“Java Application”。在Java中,没有库项目/模块的概念,因此包含此类static main()
的项目是否为“库”并不重要。
其次,我找到的最简单的方法是(非常类似于Ray的回答):
static Main()
是您要运行的不幸的是,我认为无法使用不同的类在VS的不同启动配置中保存相同的项目,因此您可以轻松地在它们之间切换。 AFAICS实现这一目标的唯一方法是在解决方案中创建新项目并配置它们以启动不同的主类。
答案 3 :(得分:2)
您可以将static main(string[] args)
方法添加到要运行的类中,或者在program.cs
中创建同一类的对象,并在main()
program.cs
中调用所需的方法1}}
答案 4 :(得分:0)
Program.cs
包含项目运行时要运行的内容。
Application.Run(new Form1());
您可以使用它来选择要运行的任何类。
如果是控制台应用程序,则只运行具有入口点的类。
static void Main(string[] args)
{
}
答案 5 :(得分:0)
只有该类将首先运行,其中包含“静态主”方法。 将Main()方法添加到要首先执行的类中。
如果您需要更多帮助,请回复我。 希望这会有所帮助。
答案 6 :(得分:0)
在我要排除的文件中将[FindsBy(How = How.CssSelector, Using = "input.form-label__input.form-label__input--password")]
public IWebElement Password { get; set; }
[FindsBy(How = How.CssSelector, Using = "input.form-label__input.form-label__input--email")]
public IWebElement EmailInput { get; set; }
更改为static
对我来说是可行的,我只在静态文件中保留1个文件,而Visual Studio只运行那个文件。
答案 7 :(得分:0)
我是点网世界的新手,面临同样的问题。要练习C#,需要在diff .cs文件中编写一些小的代码,但同样,根据点网,只能存在一个Main()。
因此,如果您有10个.cs文件,请确保以小写形式更新其“主要”方法名称
static void main(string[] args){}
您要运行的文件应具有Main()方法,并使用大写M
static void Main(string[] args){}
即使您的.cs文件位于其他文件夹中,您也只需从根文件夹运行命令
dotnet run