VSCode調(diào)試C#程序及附缺失.dll文件的解決辦法
剛開(kāi)始使用VScode,經(jīng)過(guò)兩天的折騰,初步解決了調(diào)試C#無(wú)法生成.dll文件的問(wèn)題,現(xiàn)將我的過(guò)程敘述如下(使用到.Net Core+VScode+C#插件)。
1.首先在D盤建立一個(gè)新的文件夾,我的文件名是C# file,如下:
2.然后打開(kāi)VS code,通過(guò)file -> Add Folder to Workspace選項(xiàng)將剛才建立的新的文件夾加入到工作空間中,如下:
3.通過(guò)命令Ctrl+shift+y打開(kāi)調(diào)試控制臺(tái)(DEBUG CONSOLE),然后選擇終端(TERMINAL),會(huì)看到當(dāng)前的工作路徑,如下:
4.在當(dāng)前工作目錄,通過(guò)鍵入 dotnet new console
,會(huì)為我們創(chuàng)建一個(gè)新的模板。如果當(dāng)前的工作空間有多個(gè)文件夾,可以選擇powershell更換為當(dāng)前的工作目錄,如下:
5.接著,鍵入dotnet run
,會(huì)運(yùn)行剛才創(chuàng)建的新模板,控制臺(tái)打印出"Hello World!".說(shuō)明模板創(chuàng)建成功,可以在模板的基礎(chǔ)上編寫自己的代碼了。
6.上述過(guò)程可以類比成在Visual studio中創(chuàng)建一個(gè)控制臺(tái)程序,需要進(jìn)行一些必要的準(zhǔn)備工作,創(chuàng)建一個(gè)新的模板后,在C# file文件夾中多出來(lái)一些文件,可以看作是一些初始化的文件。
7.模板給出的程序,在主函數(shù)中只有一句代碼:Console.WriteLine("Hello World!");
,這就是控制臺(tái)顯示"Hello World!"的原因。
8.由于模板給出的代碼,包含的命名空間少,需要自己動(dòng)手補(bǔ)充,using System; using System.Collections.Generic; using System.Linq; using System.Text;**
9.開(kāi)始編寫代碼,本示例的代碼如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace C__file { class Program { //定義一個(gè)Player類 class Player { public int id; public int life; public Player(int iId,int iLife) { this.id = iId; this.life = iLife; } } //比較函數(shù) public class PlayerCompare : IComparer<Player> { //比較Player的id大小 int IComparer<Player>.Compare(Player a,Player b) { return a.id.CompareTo(b.id); } } static void Main(string[] args) { //創(chuàng)建一個(gè)列表List List<Player> player_list = new List<Player>(); Random rand = new Random(); for(int i = 0;i<10;i++) { int n =rand.Next(100); //隨機(jī)生成100以內(nèi)的數(shù) int n1 = rand.Next(100); Player p = new Player(n,n1); //在List中添加創(chuàng)建的Player的實(shí)例 player_list.Add(p); } //對(duì)List進(jìn)行排序 player_list.Sort(new PlayerCompare()); foreach(Player p in player_list) { Console.WriteLine("player id:" + p.id); } } } }
10.然后按F5鍵進(jìn)行調(diào)試,選擇.NET Core,會(huì)自動(dòng)生成一個(gè)launch.json和tasks.json兩個(gè)文件。如果在VScode的工作目錄C# file沒(méi)有.vscode文件夾,就將其加入到C# file文件夾中。
11.重新按F5鍵調(diào)試程序,結(jié)果成功顯示如下:
問(wèn)題總結(jié):
整個(gè)過(guò)程經(jīng)歷了兩天才成功,困擾最大的是在調(diào)試過(guò)程中,終端(TERMINAL)明明已經(jīng)沒(méi)有問(wèn)題了,生成了.dll文件,但是調(diào)試控制臺(tái)(DEBUG CONSOLE)還是出現(xiàn)錯(cuò)誤,提示某路徑下沒(méi)有.dll文件,讓你查看launch.json文件,這時(shí)要特別注意launch.json文件中的program中的路徑與提示的路徑是否相符,如果不一樣,就會(huì)出現(xiàn)問(wèn)題,不行的話,可以將生成的.dll的路徑直接復(fù)制到program中。
如上,需要保證launch.json文件中program的路徑與生成的.dll路徑一致?!?{workspaceFolder}”表示當(dāng)前的文件夾路徑,就是一開(kāi)始的C# file路徑“D:\Program Files (x86)\C# file”,而我生成的.dll路徑與launch.json是一致的,就沒(méi)有出現(xiàn)問(wèn)題。之前一直有問(wèn)題就是沒(méi)有將其保持一致所致。
2.生成的.cs文件,文件名修改后會(huì)提示出現(xiàn)二義性的problem,這時(shí)重啟VS code即可。注意在創(chuàng)建新的文件時(shí),文件名不能與關(guān)鍵字相同,否則會(huì)出現(xiàn)還原成功但編譯失敗的情況。
3.按F5鍵時(shí),如果提示沒(méi)有生成task build文件(你的文件夾.vscode里也沒(méi)有tasks.json文件),如下所示:
則生成該文件的步驟如下:
這樣tasks.json文件已經(jīng)在.vscode文件夾中生成了,如下所示:
到此這篇關(guān)于VSCode調(diào)試C#程序及附缺失.dll文件的解決辦法的文章就介紹到這了,更多相關(guān)VSCode調(diào)試C#缺失.dll內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C# Dynamic之:ExpandoObject,DynamicObject,DynamicMetaOb的應(yīng)用(下)
本篇文章是對(duì)C#中ExpandoObject,DynamicObject,DynamicMetaOb的應(yīng)用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C#分析URL參數(shù)并獲取參數(shù)和值對(duì)應(yīng)列表的方法
這篇文章主要介紹了C#分析URL參數(shù)獲取參數(shù)和值對(duì)應(yīng)列表的方法,涉及C#進(jìn)行URL分析及正則表達(dá)式的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03C# 構(gòu)造函數(shù)如何調(diào)用虛方法
這篇文章主要介紹了C# 構(gòu)造函數(shù)如何調(diào)用虛方法,文中講解非常詳細(xì),示例代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07C#利用ms office實(shí)現(xiàn)office轉(zhuǎn)pdf的示例代碼
這篇文章主要介紹了C#利用ms office實(shí)現(xiàn)office轉(zhuǎn)pdf的詳細(xì)方法,文中通過(guò)代碼示例和圖文講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-09-09