我在嘗試在 Visual Studio Code 中調試用 .NET Core 編寫的應用程序時遇到問題。這是設置:我正在使用運行 Debian 9 的虛擬機(使用默認 GUI)。我已經安裝了 .Net Core SDK 2.1 和 Visual Studio Code 1.30.0。安裝了 C# 1.17.1 的擴展。我創建了簡單的項目:class MyProgram{
static void Main(string[] args)
{
Console.WriteLine("Hello You Angel!");
ProcessStartInfo startInfo = new ProcessStartInfo() { FileName = "/bin/bash", Arguments = "-c nautilus /home/", };
Process proc = new Process() { StartInfo = startInfo, };
proc.Start();
}}如果我運行程序,則執行并產生正確的輸出。在調試窗口中,我按下齒輪按鈕來編輯 launch.jason文件這是它的樣子:{ "version": "0.2.1", "configurations": [ { "name": ".NET Core Launch (console)", "type": "coreclr", "request": "launch", "preLaunchTask": "build", // If you have changed target frameworks, make sure to update the program path. "program": "${workspaceFolder}/HelloWorld/bin/Debug/netcoreapp2.1/HelloWorld.dll", "args": [], "cwd": "${workspaceFolder}/HelloWorld", // For more information about the 'console' field, see https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md#console-terminal-window "console": "integratedTerminal", "stopAtEntry": false, "internalConsoleOptions": "openOnSessionStart", "externalConsole": false, }, { "name": ".NET Core Attach", "type": "coreclr", "request": "attach", "processId": "${command:pickProcess}" } ,]}我在項目中設置了斷點:當我點擊綠色三角形按鈕時,它沒有命中斷點。實際上,我認為我根本沒有執行任何代碼。讓這個應用程序進入調試模式我缺少什么嗎?
3 回答


開滿天機
TA貢獻1786條經驗 獲得超13個贊
1)在終端去你的項目并寫
dotnet restore
dotnet clean
dotnet build
2) 檢查配置中“program”和“cwd”的路徑(launch.json)。

繁星coding
TA貢獻1797條經驗 獲得超4個贊
如果有人在將類庫項目“轉換”為控制臺應用程序時遇到此問題,這里是我發現的癥狀和原因:
當我真正想要一個控制臺應用程序時,我錯誤地創建了一個類庫。我之前在 .NET Framework 項目中也犯過同樣的錯誤,所以我想我會轉換它,沒問題。所以我改變了輸出類型并給它一個啟動對象。項目運行但沒有命中斷點。
我花了一段時間才找出原因;這是因為我將原始類庫項目創建為 .NET 標準項目。當我創建一個與 .NET Core(而不是 .NET 標準)一樣的新項目(相同的代碼)時,會遇到斷點。
非常有趣的是,您實際上可以將 .NET 標準類庫項目切換到控制臺應用程序,因為您似乎無法通過 UI 創建該設置。
- 3 回答
- 0 關注
- 421 瀏覽
添加回答
舉報
0/150
提交
取消