VS Code調試.NET Core

來源:互聯網
上載者:User

標籤:

VS Code調試.NET Core應用遇到的坑為什麼會有”坑“ 

  部落格園裡有好多介紹怎麼使用VS Code以及調試.NET Core的文章,但是都是基於直接構建Asp.Net Core Mvc單項目的,有什麼區別呢!

 

  (1).我們這次遇到的坑是在多項目的解決方案中遇到的,也就是說根目錄不是一個項目的目錄;

 

  (2).DEBUG項目不能載入符號檔案,導致項目不能斷點調試;

 解決問題   1.關於解決方案的目錄問題 

  在launch.json中將 "program" 節點修改下:

 

  "program": "${workspaceRoot}”,workspaceRoot是解決方案目錄,修改這個值為"${workspaceRoot}/子項目目錄/bin/Debug/netcoreapp1.0/<項目名稱>.dll"

 

  修改後,DEBUG發現沒辦法Build, 提示 Couldn‘t find ‘project.json‘ in current directory 。

 

  其實,原因是一樣的都是找不到項目目錄造成的,修改 tasks.json檔案:

 

  為其添加一個options節點:

 
{    // See https://go.microsoft.com/fwlink/?LinkId=733558    // for the documentation about the tasks.json format    "version": "0.1.0",    "command": "dotnet",    "isShellCommand": true,    "args": [],    "options": {        "cwd": "${workspaceRoot}/子項目目錄"    },    "tasks": [        {            "taskName": "build",            "args": [ ],            "isBuildCommand": true,            "showOutput": "silent",            "problemMatcher": "$msCompile"        }    ]}
 

 

 

  options的cwd節點,指定了dotnet命令列的工作目錄, 這樣修改後就可以正常build了。

   2.關於DEBUG不能斷點調試 

  查看LOG,發現DEBUG時會提示如下資訊:

 

  Could not load symbols for ‘*.dll‘. ‘*.pdb‘ is a Windows PDB. These are not supported by the cross-platform .NET Core debugger.

 

  大概的意思就是在windows下產生的符號檔案,不能被跨平台的調試器載入。

 

  解決方案很簡單,在每個需要調試的專案檔(project.json)中,加入一個節點資訊如下:

 
  "buildOptions": {    "debugType": "portable"  }
 project.json 

這是YOYOFx開源架構一個項目的project.json片段。

 YOYOFx架構 

GitHub:https://github.com/maxzhang1985/YOYOFx    Star下, 歡迎一起交流。

 

YOYOFx是一個輕量級用於構建基於 HTTP 的 Web 服務,基於 .NET 和 Mono 平台。

VS Code調試.NET Core

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.