【问题标题】:Why is the terminal in VS Studio Code using the wrong program?为什么 VS Studio Code 中的终端使用了错误的程序?
【发布时间】:2020-09-21 21:26:26
【问题描述】:

我确信这是一个答案很明显的愚蠢问题,但我就是想不通。我在 VS Code 中练习 C#,并将我所有的项目放在一个文件夹中。现在,当我尝试使用“dotnet run”测试我的第二个程序的启动时,终端一直在尝试访问第一个项目,而不是打开的那个。

"AdditionCalc.cs(7,17):错误 CS0017:程序定义了多个入口点。用 /main 编译以指定包含入口点的类型。[C:\Users\dylan\Desktop\C#练习\C# 练习.csproj]" 是我得到的错误信息。 “AdditionCalc.cs”是我的第一个项目,在那里我做了一个简单的加法计算器。

using System;

namespace Practice
{
  class Calculator
  {
    static void Main(string[] args)
    {
 
 string str1;
 string str2;
 
 int number1;
 int number2;

 Console.WriteLine("Enter Number One");
    str1 = Console.ReadLine();
 Console.WriteLine("Enter Number Two");  
    str2 = Console.ReadLine();
    
     number1 = Int32.Parse(str1);
     number2 = Int32.Parse(str2);

      int answer = number1 + number2;
           
            Console.WriteLine("Those two numbers added up is: " + answer);

            string fivehundo = (answer >=500) ? "That number is bigger than 500" : "That number is smaller than 500";

            Console.WriteLine(fivehundo);

                
    }
  }
}

这是我的第一个项目

using System;

namespace Test {   

    class NumberGuesser {
        static void Main(string[] args){

        
        
        Random rnd = new Random();
        int number = rnd.Next(1, 11);
        
        
        Console.WriteLine(number);
        
        }
    }
} 

这是我的第二个项目,用户将猜测一个数字,每次控制台都会返回实际数字是否高于或低于输入的数字。

我是否特别需要将这些文件保存在完全不同的位置并每次都创建一个新控制台?还是我必须以特定方式打开文件? 非常感谢您的帮助,我知道这可能是一个愚蠢的问题,我忽略了一些非常基本的东西

【问题讨论】:

    标签: c# visual-studio-code terminal


    【解决方案1】:

    每个项目都有一个不同的文件夹是很标准的,所以这是我的建议。

    可能有另一种方法可以让它在一个文件夹中全部工作,但您最好从一开始就采用典型的方式。

    【讨论】:

      【解决方案2】:

      我肯定会关注 E.J. Brennan 建议并将您的代码移动到单独的文件夹中,但我还要补充一点,您看到的问题根本与 VS Code 无关 - 根据您的描述,您创建了一个新类,但不是一个新项目。

      VS Code 中的终端只是一个常规终端会话 - 与您在 Windows 机器上打开命令提示符或 Powershell 或只是在 Linux 上打开常规命令行没有什么不同。当您调用“dotnet run”时,您调用的是 .NET Core CLI。有关详细信息,请参阅 the .NET doco

      一般来说,没有传递其他参数的“dotnet run”会在当前目录中查找 .csproj 文件,并尝试调用它认为是该项目一部分的 Main 方法。如果它可以看到多个 Main 方法但 .csproj 文件没有指定要使用哪个 Class 的 Main (see this question),它不知道该怎么做并为您抛出此错误。

      这让我们明白了我认为您面临的主要问题。您已经创建了一个新文件,我想象 'NumberGuesser.cs' 带有您想要使用的新 Main 方法,但您实际上并没有创建一个新的 project - 它会附带一个新的和不同的 .csproj 文件。

      我建议将您的 NumberGuesser 代码从上一级目录移至新项目 - 'dotnet new console -o NumberGuesser',然后将您的课程移至为您创建的新项目目录中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-05-26
        • 1970-01-01
        • 1970-01-01
        • 2021-04-03
        • 1970-01-01
        • 2021-04-20
        • 2020-09-17
        相关资源
        最近更新 更多