【问题标题】:Dart_LoadScriptFromKernel: The binary program does not contain 'main'Dart_LoadScriptFromKernel:二进制程序不包含'main'
【发布时间】:2019-11-03 01:31:18
【问题描述】:

我只是在 VsCode 中运行这段代码并显示这个问题

Dart_LoadScriptFromKernel:二进制程序不包含'main'。

飞镖版本:2.3.2

void main() {
  print("hello");
}

配置有问题吗?

【问题讨论】:

  • 上传截图。从我的最终飞镖版本开始,它工作正常:VSCode 中的 2.3.2
  • 运行dart main.dart(在文件目录下)能正常运行吗?
  • 我收到了这个错误Error: Error when reading 'main.dart': No such file or directory@Mattia
  • @Patel123 你可能不在 main.dart 目录中。
  • 对于未来的读者,请注意屏幕截图中的文件在其名称旁边标有一个点。这意味着该文件包含未保存的更改。默认情况下,VS Code 不会自动保存更改。

标签: dart visual-studio-code


【解决方案1】:

VScode 总是要求项目目录中的main.dart 文件至少包含最少的内容:

void main() {}

有了该文件,您就可以命名您正在处理的任何其他文件,并使用例如直接从 VScode 控制台执行它。 dart hello_world.dart(附示例内容):

void main() {
  print("Hello World");
}

并且main.dart 文件确实不需要在完成后需要打开。

【讨论】:

    【解决方案2】:

    我遇到了这个问题,我将 Flutter 降级,问题已解决。

    颤振降级

    C:\Users\USERNAME>flutter downgrade
    Downgrade flutter to version 2.3.0-16.0.pre
    ? [y|n]: y
    Success
    

    【讨论】:

      【解决方案3】:

      我也遇到了同样的问题。然后我发现我没有保存文件(代码)。然后我保存它(ctrl+s 或 File > Save)。最后我运行命令

      dart hello.dart 
      

      并获得预期的输出。

      【讨论】:

        【解决方案4】:

        在 Visual Studio Code 中,当您尝试运行 main.dart 文件时会发生此错误,但是您打开了另一个窗口(或选项卡),其中包含一个类文件。确保在运行代码时打开了 main (main.dart) 选项卡,其中包含您的 main 函数。

        【讨论】:

        • 我打开了两个 vscode 实例。关闭另一个时工作。谢谢!
        【解决方案5】:
        1. 在 Visual Studio 上单击“查看”
        2. 然后点击运行
        3. 然后在左上角看到运行下拉菜单
        4. 选择添加配置。
        5. 然后出现一个 JSON 文件。
        6. 现在删除所有内容并粘贴以下内容:
         {    
             "version": "0.2.0",
             "configurations": [
                {
                    "name": "Dart: Attach to Process",
                    "type": "dart",
                    "request": "attach"
                },
                {
                    "name": "Dart",
                    "type": "dart",
                    "request": "launch",
                    "program": "bin/main.dart"
                },
                {
                    "name": "Dart: Run all Tests",
                    "type": "dart",
                    "request": "launch",
                    "program": "./test/"
                },
                {
                    "name": "Dart: Attach to Process",
                    "type": "dart",
                    "request": "attach"
                },
        
                {
                    "name": "Dart",
                    "program": "bin/main.dart",
                    "request": "launch",
                    "type": "dart"
                }
            ] }
        
        1. 现在再去让手侧顶,看看旁边跑有戏 键入按钮。
        2. 只需按下它并允许权限

        3. 现在在终端中运行代码。 它会起作用的。

        【讨论】:

          【解决方案6】:
          1. 禁用扩展。 2.然后,单击需要重新加载。 https://i.stack.imgur.com/XTHc6.png
          2. 启用扩展。

          【讨论】:

            【解决方案7】:

            尝试将其保存在您的文件夹中,它可以 100% 工作并将其命名为 main

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2021-10-05
              • 1970-01-01
              • 2010-09-28
              • 1970-01-01
              • 2016-03-21
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多