博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
visual studio code调试.net core 2.0程序
阅读量:6377 次
发布时间:2019-06-23

本文共 1084 字,大约阅读时间需要 3 分钟。

最近在试.net 2.0 Preview时,在VS2017中相对麻烦,现说也怕把生产环境搞坏,于是就想在vs code下试试。

首在安装.net core 2.0的SDK和Runtime,这里下载

再安装vs code(我安装的是中文版),这里下载

打开vs在扩展中安装C#扩展

安装完成后,打开cmd

用dotnet new console创建一个项目(首先创建好项目文件夹哦)

dotnet restore一下

dotnet run跑了起来

在vs code中打开文件夹,选择上面创建的文件夹,并双击Program.cs,这时,vs code会安装一个OmniSharp和一个.Net Core Debugger,这两个安装相对较慢(可能在国内原因吧)

接下来在Program.cs中

加入如下代码(测试DataTable的):

然后在vs code中restore

这样就开始调试了,调试肯定是失败的,因为代码中用到ado.net连接sql server数据,所以在.csproj中添加如下节点:

 

 <ItemGroup>

   <PackageReference Include="System.Data.SqlClient"Version="4.4.0-preview1-25305-02" />

 </ItemGroup>

 

重新restore,然后再次调试 ,如果你的数据中有汉字,这时会发现在在调试控制台上转出有乱码,怎么会事?

再返回cmd下测试(或在vs code的终端测试),都正常

看来正常,之前1.1版确实汉字也会有乱码,用上

System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);

就会解决掉,但本例中不一样,首先在cmd下没有乱码,我试过用上这个方法,调试控制台上也是乱码,于是就东问西找,也没有找到有效的解决方案(我的google能力还有待提高呀),于是只能自己想着解决了,乱码肯定是编码不匹配,这个问题说明设计控制台与终端的编码输出不一样,终端和cmd一个道,应该问题出在vs code输入到控制台上的问题,幸好我c#控制台功底好(),想到一个输出流,然后就找到了

Console.OutputEncoding = System.Text.Encoding.UTF8;

果然问题解决,转了半天cmd可以显示汉字和vs code “文件”-“首选项”-“设置”误导了我,找了半天怎么设置调试控制台来改变编码,原来在程序中控制即可。

转载地址:http://mevqa.baihongyu.com/

你可能感兴趣的文章
.NET编译项目时出现《此实现不是 Windows 平台 FIPS 验证的加密算法的一部分》处理方法...
查看>>
流水落花春去也
查看>>
从.NET中委托写法的演变谈开去(下):性能相关
查看>>
C# 多人聊天程序
查看>>
【教训】为什么不作备份?!
查看>>
网搜索引擎架构设计
查看>>
iOS笔记:内存管理
查看>>
python开发_python中str.format()
查看>>
HTML5, CSS3, ES5新的web标准和浏览器支持一览 转
查看>>
ThinkPHP3.0启动过程
查看>>
【leetcode】Longest Common Prefix (easy)
查看>>
JAX-WS(JWS)发布WebService
查看>>
Centos7安装docker-compse踩过的坑
查看>>
细说Nullable<T>类型
查看>>
oracle 插入表数据的4种方式
查看>>
7.Ajax
查看>>
Linux vi/vim编辑器常用命令与用法总结
查看>>
对于 url encode decode js 和 c# 有差异
查看>>
centos rz sz安装
查看>>
mysql 修改列为not null报错Invalid use of NULL value
查看>>