最近在試.net 2.0 Preview時(shí),在VS2017中相對(duì)麻煩,現(xiàn)說(shuō)也怕把生產(chǎn)環(huán)境搞壞,于是就想在vs code下試試。
創(chuàng)新互聯(lián)成都企業(yè)網(wǎng)站建設(shè)服務(wù),提供網(wǎng)站制作、成都做網(wǎng)站網(wǎng)站開(kāi)發(fā),網(wǎng)站定制,建網(wǎng)站,網(wǎng)站搭建,網(wǎng)站設(shè)計(jì),成都響應(yīng)式網(wǎng)站建設(shè)公司,網(wǎng)頁(yè)設(shè)計(jì)師打造企業(yè)風(fēng)格網(wǎng)站,提供周到的售前咨詢(xún)和貼心的售后服務(wù)。歡迎咨詢(xún)做網(wǎng)站需要多少錢(qián):13518219792
首在安裝.net core 2.0的SDK和Runtime,這里下載
https://github.com/dotnet/core/blob/master/release-notes/download-archives/2.0.0-preview1-download.md
再安裝vs code(我安裝的是中文版),這里下載
https://code.visualstudio.com/?wt.mc_id=DX_841432
打開(kāi)vs在擴(kuò)展中安裝C#擴(kuò)展
安裝完成后,打開(kāi)cmd
用dotnet new console創(chuàng)建一個(gè)項(xiàng)目(首先創(chuàng)建好項(xiàng)目文件夾哦)
dotnet restore一下
dotnet run跑了起來(lái)
在vs code中打開(kāi)文件夾,選擇上面創(chuàng)建的文件夾,并雙擊Program.cs,這時(shí),vs code會(huì)安裝一個(gè)OmniSharp和一個(gè).Net Core Debugger,這兩個(gè)安裝相對(duì)較慢(可能在國(guó)內(nèi)原因吧)
接下來(lái)在Program.cs中
加入如下代碼(測(cè)試DataTable的):
然后在vs code中restore
這樣就開(kāi)始調(diào)試了,調(diào)試肯定是失敗的,因?yàn)榇a中用到ado.net連接sql server數(shù)據(jù),所以在.csproj中添加如下節(jié)點(diǎn):
重新restore,然后再次調(diào)試 ,如果你的數(shù)據(jù)中有漢字,這時(shí)會(huì)發(fā)現(xiàn)在在調(diào)試控制臺(tái)上轉(zhuǎn)出有亂碼,怎么會(huì)事?
再返回cmd下測(cè)試(或在vs code的終端測(cè)試),都正常
看來(lái)正常,之前1.1版確實(shí)漢字也會(huì)有亂碼,用上
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
就會(huì)解決掉,但本例中不一樣,首先在cmd下沒(méi)有亂碼,我試過(guò)用上這個(gè)方法,調(diào)試控制臺(tái)上也是亂碼,于是就東問(wèn)西找,也沒(méi)有找到有效的解決方案(我的google能力還有待提高呀),于是只能自己想著解決了,亂碼肯定是編碼不匹配,這個(gè)問(wèn)題說(shuō)明設(shè)計(jì)控制臺(tái)與終端的編碼輸出不一樣,終端和cmd一個(gè)道,應(yīng)該問(wèn)題出在vs code輸入到控制臺(tái)上的問(wèn)題,幸好我c#控制臺(tái)功底好(),想到一個(gè)輸出流,然后就找到了
Console.OutputEncoding = System.Text.Encoding.UTF8;
果然問(wèn)題解決,轉(zhuǎn)了半天cmd可以顯示漢字和vs code “文件”-“首選項(xiàng)”-“設(shè)置”誤導(dǎo)了我,找了半天怎么設(shè)置調(diào)試控制臺(tái)來(lái)改變編碼,原來(lái)在程序中控制即可。