天天看點

配置 .NET Core debugger

事前需求 / 需知項 / 雜項

  • 需要 .NET Core rc3-23829 或者 更新的版本。日常的.NET核心開發可以從Nuget 元件中得到支援。以下是該元件的位址。​​https://www.myget.org/F/dotnet-core/api/v3/index.json​​
  • X64 only
  • 支援 Windows, OSX 和 Ubuntu 14.04
  • 假使你按F5 出現了錯誤提示,” No task runner configured - Tasks.json could not be found",請看下面章節。
  • 如果你沒有安裝Mono,你将不會獲得 智能感覺 功能。

首次運作配置

首先,下載下傳visual studio code ​​https://code.visualstudio.com/​​

一、安裝CLI ​​http://dotnet.github.io/getting-started​​

二、安裝好 vscode 之後,是沒有c#語言的。是以需要安裝c#。

!  打開 vscode 指令行(F1);

!  輸入 “ ext install C# ”

!  搜到之後 點選安裝 按鈕 安裝

!  根據提示 重新開機即可

三、擴充安裝完之後,用vscode 打開任意一個 c# 檔案。此時,程序将被觸發以獲得所需檔案。隻需等待程序完成即可

四、安裝Mono(LINUX/OSX)

!  為了能夠自動給每個項目建立一個 tasks.json 檔案,你現在需要Mono。此步可省略,但之後你需要手動添加檔案。

!  以下指引将告訴你如何安裝Mono。​​http://www.mono-project.com/docs/getting-started/install/​​ 確定你安裝的版本不小于4.0.1。

對每一個項目

              以下步驟必須對每個項目都執行。

l  首先,把你的檔案project.json 修改成引用 “NETStandard.Library(NET标準庫)":"1.0.0-rc3-*"

n  目前,donet new 建立的項目檔案(project.json)引用的版本太舊了。你應該修改一下。

n  随後運作 dotnet restore 指令。你可以按熱鍵F1在vscode 裡運作此指令。

l  當要調試某一項目時,請選擇 .NET Core 調試環境,按調試按鈕進行調試。當首次調試vs 代碼時,可以按指令熱鍵(F5)選擇調試環境。

l  如果你想按F5就獲得 ‘compile’支援,你需要建立一個 tasks.json 的檔案。為實作此有多種方式。

n  你可以在vscode裡按熱鍵F1打開指令行。執行指令Debugger: Add tasks.json。(但要確定你已安裝了Mono)。

n  你也可以手工添加到你的 launch.json 檔案以實作此目的。如果你沒有安裝mono,你會得到一行錯誤提示Omnisharp not running .

n  如果你隻是想調試下程式,你可以在launch.json 檔案裡注釋掉 “preCompileTask”指令。

l  在你可以啟動程式之前,你必須要修改你的 launch.json 檔案。在”program field”位置輸入可執行程式的名稱包括路徑。

n  如果你正在使用推薦的 .NET CLI 生成方案。格式如此,${workspaceRoot}/bin/Debug/dnxcore50/osx.10.11-x64/HelloWorld 。在Ubuntu平台下,用ubuntu.14.04-x64 來代替osx... 檔案夾。在Windows 平台下,使用win7-x64。如果不确信,在指令行中輸入dotnet build ,在路徑bin/Debug下查找生成的執行檔案(NOT.dll)。在windows平台下,你依然可以使用正斜杠。

n  如果你正在使用全新的 .NET CLI 生成方案,忽略此步驟,除非你真的要安裝最新的bits 服務(背景隻能傳輸服務)。該方案不再預設删除本地主機的可執行檔案。未來的擴充版本将會修改此點。但是現在,你隻需要-

l  針對windows 平台:

​​https://github.com/OmniSharp/omnisharp-vscode/wiki/Portable-PDBs#net-cli-projects-projectjson​​ (使用portable PDBS修改project.json檔案)。

l  假使由于缺少NuGet.Config檔案而出現存儲錯誤,隻需在你的項目根目錄下建立此檔案。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <!--To inherit the global NuGet package sources remove the <clear/> line below -->
    <clear />
    <add key="dotnet-core" value="https://www.myget.org/F/dotnet-core/api/v3/index.json" />
    <add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" />
  </packageSources>
</configuration>