You need to enable JavaScript to run this app. 如何在Visual Studio 2019及VSCode中运行独立C#文件避免入口冲突
优惠活动
大模型
产品
解决方案
定价
更多

如何在Visual Studio 2019及VSCode中运行独立C#文件避免入口冲突

问题原因

你收到的There is already a main entry point报错,是因为C#控制台应用默认要求单个项目内只能有1个Main方法作为程序执行的唯一入口,你现在的Program.cs和Variables.cs中都定义了Main方法,就会触发入口点冲突。
项目文件结构示意图

Visual Studio 2019 多练习文件运行方案

你可以根据自己的使用习惯选任意一种方案:

方案1:切换启动对象(无需修改代码)

  • 右键解决方案面板中的项目名称 → 选择「属性」
  • 切换到「应用」标签页,找到「启动对象」下拉菜单
  • 选择你要运行的文件对应的类即可,比如要运行Variables.cs就选Variables类,后续要运行数组、用户输入练习文件,只需要提前给这些文件写带Main方法的独立类,运行前在这里切换启动对象即可。

方案2:封装练习方法统一调用(更适合新手,无需频繁改配置)

不需要给每个练习文件都写Main方法,把练习逻辑封装为独立方法,统一从Program.cs的入口调用即可:

  1. 删除Variables.cs里的Main方法,把练习代码放到自定义的静态方法中:
// Variables.cs 示例代码
public static class VariablesPractice
{
    public static void Run()
    {
        // 原来写在Variables.cs的Main方法里的所有练习代码放这里
        int a = 10;
        Console.WriteLine(a);
    }
}
  1. 在Program.cs的Main方法里调用对应练习的方法,要运行哪个练习就调用哪个方法:
// Program.cs 示例代码
internal class Program
{
    static void Main(string[] args)
    {
        // 运行变量练习
        VariablesPractice.Run();
        // 后续要运行数组练习就取消注释下一行,注释上面的调用即可
        // ArrayPractice.Run();
    }
}

方案3:每个练习建独立项目(完全隔离无干扰)

如果不想不同练习的代码互相影响,可以右键解决方案 → 选择「添加」→「新建项目」,每个练习单独创建一个控制台项目,要运行哪个练习就右键对应项目 → 选择「设为启动项目」即可。

VSCode 多C#文件运行配置

VSCode下出现相同入口冲突时,按以下规则配置即可:

  • 如果是单项目内存放多练习文件,打开项目根目录的.csproj配置文件,在<PropertyGroup>节点下添加<StartupObject>启动类名</StartupObject>即可指定入口,示例配置如下:
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net6.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
    <!-- 指定启动类为Variables -->
    <StartupObject>Variables</StartupObject>
  </PropertyGroup>
</Project>
  • 也可以和上面VS2019的方案2一样,把所有练习封装为独立方法,统一从Program.cs调用,不需要改配置。
  • 如果需要完全隔离练习,每个练习单独创建新的.NET控制台项目即可。

内容的提问来源于stack exchange,提问作者Carl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 15:12:00