web-dev-qa-db-ja.com

C#-VSコード-launch:program ...は存在しません

VS Codeで単純な「Helloworld」アプリケーションをデバッグしようとしていますが、Ctrl + F5を押すと、次のエラーが発生します。

enter image description here

Launch.jsonのパスを次の場所から手動で変更した場合:

${workspaceFolder}/bin/Debug/insert-target-framework-here/insert-project-name-here.dll

に:

"${workspaceFolder}/bin/Debug/netcoreapp2.1/test.dll"

それは機能しますが、手動でパスを入力しなくても正常に機能する前に。また、VSCodeが以前のようにアセットの再構築を要求しなくなったことにも気づきました。

enter image description here

これまで私は以下を試しました:

VS Code、次に.NET Core 2.1をアンインストールし、VS Code拡張フォルダーを%USER%\。vscode \から削除し、VS Code、次に.NET Core 2.1、次にC#拡張機能(Visual Studio CodeのC#(powered OmniSharpによる))。

VS Codeが起動すると、「OmniSharp」パッケージが正常にダウンロードされますが、それでも、C#ファイルを開いたときにアセットを再構築するプロンプトが表示されません。デバッグすると、以前と同じ問題が発生します。

これがlaunch.jsonです:

"version": "0.2.0",
"configurations": [
    {
        "name": ".NET Core Launch (console)",
        "type": "coreclr",
        "request": "launch",
        "preLaunchTask": "build",
        "program": "${workspaceFolder}/bin/Debug/<insert-target-framework-here>/<insert-project-name-here>.dll",
        "args": [],
        "cwd": "${workspaceFolder}",
        "console": "internalConsole",
        "stopAtEntry": false,
        "internalConsoleOptions": "openOnSessionStart"
    }

そしてtasks.json:

    "version": "2.0.0",
"tasks": [
    {
        "label": "build",
        "command": "dotnet build",
        "type": "Shell",
        "group": "build",
        "presentation": {
            "reveal": "silent"
        },
        "problemMatcher": "$msCompile"
    }
]
}
4
Giedrius666

私は自分に合った解決策を見つけました。私のVSCodeは私に同じエラーメッセージを与えていました、そしてそれを修正するために私がしたことは:

- Press the combination Ctrl + Shift + P
- Restart Omnisharp
- Then it asks if you want to add missing files for build.
- Click Yes.

この後、アプリをデバッグすることができました。

それがあなたのために働くことを願っています!

5
Robson William

解決策は見つかりませんでしたが、MS VisualStudioに切り替えました

0
Giedrius666

Launch.jsonを次のように構成します 要点

また、Tasks.jsonを実行する必要はありません。F5キーを押して、F5キーを押したときにデフォルトのシェルで実行するコマンドを自分でビルドまたは構成できます。

0
Parsa

: "。dll"に "<"と ">"のタグが付いているので、値を指定したことを意味します。これを行う最も簡単な方法は、VSCodeでプロジェクトを開き、find&replaceを使用して、:をプロジェクト名に置き換えることです。プロジェクト名は、.dll名に従って「テスト」します。

0
CMoussalli