.net core这个名字对.net程序员来说都不陌生了,但貌似圈子里真正有开发经验的并不多,关键是公司的项目没需求。

今天我就趁着不忙上手玩了玩,搞明白了一些东西,心中也有了十万个为什么。那么现在与大家分享一下我这次玩耍的经历。

在系统中创建一个将要存放工程的目录(我的是F:\Researches\20180409 dotnetcore\test00)

打开一个cmd程序,定位到这个目录,使用dotnet new console命令(用命令行程序模板创建一个工程)

提示成功,在我们的目录中看到,项目已经创建好了

恩。。。还成,console.writeline(“ hello world”);已经帮我写好了,觉得有点空虚。。

使用visual studio code调试程序。

看了一下生成文件,为啥是个dll而不是exe,问了一下群里的码友,

路人A:“那就对了  这玩意儿是跨平台的  Linux之类的不认exe把”

我:“soga 那如果我想要exe呢”

路人B:“修改工程文件,加一行 <RuntimeIdentifier>win10-x64-corert</RuntimeIdentifier>”

exe就这么出现了

接下来,做一个实用点的控制台程序,我之前写过一个C#爬虫程序(此程序的初始版本有在blog里边记录,现在已经加了对多个羞羞网站的支持了)

为了方便,项目生成完成后直接使用vs2017进行编辑

将之前的文件全部导入,大部分代码都可以直接使用。

但遇到两个问题,

一是用于解析RSS源的SyndicationFeed类找不到了

二是Encoding.GetEncoding("gb2312")运行时无法找到相应的类

网上搜索了一下,这两个问题都是少包导致的,.net core的理念是按需加载包

解决方法。还是cmd程序定位到项目目录,两条命令为项目添加两个包引用

dotnet add package System.ServiceModel.Syndication --version 4.5.0-preview1-26216-02

dotnet add package System.Text.Encoding.CodePages --version 4.4.0

并在main方法中注册当前系统的编码

Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

调试运行:

感觉自己棒棒哒!!

试验完后,仍然有一大堆问题在心中

比如:

.net core的模板中并没有提供带gui框架的模板,那么.net core程序的界面都是怎么处理的?大多用来写控制台程序和网站后台?

wpf程序可以直接引用.net core项目生成的类库么?

我上边的项目在linux系统上如何跑?

.net core初试 --- 控制台程序的更多相关文章

  1. .NET CORE编写控制台程序应有的优雅姿势(转载)

    原文地址:https://www.cnblogs.com/zuowj/p/11107243.html 本文所说的编写控制台程序应有的“正确”方法,我把正确二字加上引号,因为没有绝对的正确,因人而异,因 ...

  2. 10分钟 在linux里创建.net core helloworld控制台程序

    官方教程 安装linux https://www.cnblogs.com/LittleFeiHu/p/9749455.html 第一步 :选择和你本机适用的Linux版本,我这里用的是18.04. 第 ...

  3. .NET CORE与Spring Boot编写控制台程序应有的优雅姿势

    本文分别说明.NET CORE与Spring Boot 编写控制台程序应有的“正确”方法,以便.NET程序员.JAVA程序员可以相互学习与加深了解,注意本文只介绍用法,不会刻意强调哪种语言或哪种框架写 ...

  4. 在.NET Core控制台程序中使用依赖注入

    之前都是在ASP.NET Core中使用依赖注入(Dependency Injection),昨天遇到一个场景需要在.NET Core控制台程序中使用依赖注入,由于对.NET Core中的依赖注入机制 ...

  5. .Net Core 控制台程序错误:Can not find runtime target for framework '.NETCoreApp,Version=v1.0' compatible with one of the target runtimes: 'win10-x64, win81-x64, win8-x64, win7-x64'.

    .Net Core 控制台程序错误:Can not find runtime target for framework '.NETCoreApp,Version=v1.0' compatible wi ...

  6. Mac/Windows开发跨平台.NET Core 控制台程序

    自从微软开始在Github上开源搞.NET Core后,.NET的跨平台逐渐就成真了.多年使用各种语言,说实话还是csharp用起来最舒服.不过现在的工作环境里使用它的机会比较少,大部分时候只是用来写 ...

  7. Supervisor守护DotNet Core控制台程序

    Supervisor 相信对Linux系统很熟的都知道这个软件,基于Python写的一个守护进程软件.具体的介绍和使用我就不再赘述了. 使用asp.net core 部署在Linux常用的方法 我们可 ...

  8. 如何在.NET Core控制台程序中使用依赖注入

    背景介绍 依赖注入(Dependency Injection), 是面向对象编程中的一种设计原则,可以用来减低代码之间的耦合度.在.NET Core MVC中 我们可以在Startup.cs文件的Co ...

  9. Asp.Net Core中使用MongoDB的入门教程,控制台程序使用 MongoDB

    内容来源  https://blog.csdn.net/only_yu_yy/article/details/78882446 首先,创建一个.Net Core的控制台应用程序.然后使用NuGet导入 ...

随机推荐

  1. 分割回文串 II · Palindrome Partitioning II

    [抄题]: 给定一个字符串s,将s分割成一些子串,使每个子串都是回文. 返回s符合要求的的最少分割次数. [思维问题]: 不知道要用预处理字符串降低复杂度 [一句话思路]: 先把预处理获得s中回文串的 ...

  2. Extjs Vbox布局方式,以及align种类,flex,pack属性含义简介

    VBox布局方式,熟悉下一下几个主要属性: 一.align:字符类型,指示组件在容器内的对齐方式.这个是基于容器的左上角来排列的.pack不同,pack是根据容器的最上边来显示的. 1.left(默认 ...

  3. gridiew列求和,表的列求和,表的记录数,时间段查询

    下面求的是gridview中第5列的值,并在lable1中显示 protected void Page_Load(object sender, EventArgs e)    {        int ...

  4. MacOs安装mysql与修改root密码

    1.下载安装包 http://www.mysql.com/downloads/ 找到如下内容下载 mysql-5.7.21-1-macos10.13-x86_64.dmg下载地址是 https://c ...

  5. laravel在控制器中赋值给视图

    1.控制器 2.视图

  6. 数据库链接 mybatis spring data jpa 两种方式

    jdbc mybatis                     spring data jpa dao service webservice jaxrs     jaxws  springmvc w ...

  7. Perl的调试模式熟悉和应用

    perl -d file.pl perl -c file.pl DB<1> hList/search source lines:               Control script ...

  8. how to enable the Accessibility in the app

    第一部分 先要装一个accchecker,全称是 UI Accessibility Checker .下载地址: http://acccheck.codeplex.com/ 装了之后 用这个工具可以 ...

  9. 客户端、服务器端中JSON字符串与对象的转换

    客户端: 字符串转为对象:$.parseJSON(json); 对象转为字符串:JSON.stringify(_pasteDataItem) 服务器端(c#): 对象: [DataContract(N ...

  10. 2018.09.14 codechef Milestone(随机化算法)

    传送门 由于存在不超过7条直线可以覆盖超过所有的点. 所以如果我们随机选点的话(每次随机两个) 那么得到的解恰好为最优解的概率是149" role="presentation&qu ...