You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#控制台输入无响应及DLL被占用问题咨询

关于C#控制台程序的两个运行问题

先修正代码中的语法错误

你的代码存在几处语法和逻辑问题,先修复这些才能正常运行:

using System; // 补充分号

namespace Helloworld
{
  class Program
  {
    static void Main(string[] args)
    {
      Program p = new Program();
      Console.WriteLine(p.getFullName()); // 补充分号
    }

    public string getName(string message)
    {
      string? name;
      
      do
      {
        Console.WriteLine(message);
        name = Console.ReadLine();
      } 
      while (string.IsNullOrEmpty(name)); // 变量名修正为name,原firstName未定义

      return name;
    }

    public string getFullName()
    {
       const string firstNameMessage = "Enter your first name: ";
       const string lastNameMessage  = "Enter your last name: "; // 修正typo:yout -> your

       string result = $"{getName(firstNameMessage)} {getName(lastNameMessage)}"; // 补充分号
       return result;
    }
  }
}

问题1:调试控制台输入无反应

VSCode默认的**调试控制台(Debug Console)**不支持交互式输入,这是工具特性导致的。解决方法:

  • 打开.vscode/launch.json文件,找到console配置项,将其值从"internalConsole"改为"externalTerminal"(弹出系统终端)或"integratedTerminal"(VSCode内置终端)。
  • 确保已经修复了代码中的语法错误,否则程序可能无法正常启动或运行到输入环节。

问题2:DLL被占用无法构建

出现该错误是因为之前的程序进程未完全终止,占用了输出目录中的DLL文件。解决方法:

  • 快速处理:点击VSCode调试面板的「停止」按钮,结束当前调试会话;若无效,直接重启VSCode。
  • 任务管理器终止进程:打开任务管理器,找到名为dotnet.exe或learningCSharp.exe的进程,右键选择「结束任务」。
  • 命令行终止:
    1. 打开命令提示符(CMD),执行命令查找占用DLL的进程ID:
      tasklist /m learningCSharp.dll
      
    2. 根据返回的PID,执行命令强制终止进程:
      taskkill /f /pid <查到的PID>
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 15:15:34