nuget

LogoSharp:Logo语言的C#实现

不想你离开。 提交于 2020-08-04 18:20:41
上周在朋友中问了一圈,发现没有几个人知道Logo语言的,或许,这门古老的语言现在用的人已经非常少了,除了国外有少量的用户将Logo语言用于教育外,估计国内不会有人使用这门语言。其实,Logo语言本来也就是以编程教育为目的的一门寓教于乐的编程语言,因此,对于小朋友学计算机编程还是有些帮助的,使用Logo控制小海龟在屏幕上画出各种美妙的图案,可以让小朋友对编程产生浓厚的兴趣。 在90年代我刚刚接触电脑的时候,当时国内比较流行的就是各种品牌的学习机,比较有名的有中华学习机、小霸王学习机、裕兴电脑等。其中有些学习卡中就自带LOGO绘图语言,比如,裕兴电脑的早期学习卡带中就带有LOGO语言: 在LOGO语言中,使用一些非常简单的命令,就能够绘制出非常漂亮的图案。比如,执行以下指令: REPEAT 5[FD 100 RT 144] 这段指令的意思是,让小海龟向前爬行100步,然后向右旋转144度,以此重复5次,就画出了一颗五角星。有关LOGO语言的详细介绍,可以参考 百度百科 相关介绍。 出于兴趣以及对童年的回忆,我使用C#语言,基于Irony语法解析器生成框架,实现了LOGO语言的语法解析和执行系统:LogoSharp。于是,我可以在自己的应用程序中使用LogoSharp来实现LOGO程序的执行,并控制海龟实现图形绘制: LogoSharp基于MIT协议开源,地址是: https:/

.Net Core +EF Core+Log4Net基本三层架构搭建

守給你的承諾、 提交于 2020-08-04 17:47:01
.Net Core +EF Core+Log4Net基本三层架构搭建 一.项目架构搭建 二.内置IOC容器 (1) 业务逻辑层依赖注入 (2) EF Core上下文依赖注入 三.集成Log4Net 四.使用session服务 五.全局注册异常处理过滤器 .Net Core +EF Core+Log4Net基本三层架构搭建) 一.项目架构搭建 UI层引用 IService、Service、Model、Utility、DataEntity(优化后可以不引用) IService 引用 Model Service 引用 IService Model、DataEntity、Utility DataEntity、Service、MVC Core、WebApi Core安装 EF Core nuget包 二.内置IOC容器 (1) 业务逻辑层依赖注入 (2) EF Core上下文依赖注入    注意: 使用EF Core的方式有Code First From Database和Code First两种,    具体使用请参考百度 三.集成Log4Net    可以通过以下两种方式写log 四.使用session服务   可以通过: HttpContext.Session.SetString(“key”)–>添加session数据    可以通过:HttpContext.Session

ABP (.Net Core 3.1版本) 使用MySQL数据库迁移启动模板项目(1)

吃可爱长大的小学妹 提交于 2020-08-04 14:39:15
最近要搭建新项目,因为还没有用过.net core,所以想用.net core的环境搭建新项目,因为不熟悉.net core的架构,所以就下载了abp项目先了解一下。 因为自己太菜了,下载了模板项目,在启动的过程中一波三折,其曲折真是无法用言语形容。(但是我没有灰心!没有什么技术是在努力的情况下学不会的,是嘛) 在搜集信息的过程中,很多网友分享的资料都很有帮助,但是有一个问题的方法对于我这边遇到的问题却用不上,因为问题没有得到解决。但是却给了我不同的思路,从而让问题得到解决,模板项目终于顺利启动。 先贴上我参考的帖子,正是因为有优秀的网友的分享,我才打开了abp模板项目的大门!(不多说了,远程握手为敬吧,哈哈) 参考资料 ABP入门教程(一)启动模版项目 ABP (.Net Core) 使用MySQL数据库 按照参考资料的操作,只需要简单几步就可以把模板项目启动起来,但是!不知道为何,任何新鲜的技术到了我这里,就要费上N个步骤,花费九牛二虎之力,绞尽脑汁都还是一堆红色报错,满屏红让我沮丧,让我怀疑人生...... emmmm直接开始从步骤说起吧。 abp模板下载 abp模板下载 VS2019打开项目解决方案(用VS2017应该也可以,不过要额外下载.net sdk 3.0安装。) 找到【解决方案名.Web.Host】项目里面的appsettings.json,修改数据库连接字符串

ASP.Net Core 3.1 中使用JWT认证

大憨熊 提交于 2020-08-04 11:11:54
JWT认证简单介绍 关于Jwt的介绍网上很多,此处不在赘述,我们主要看看jwt的结构。 JWT主要由三部分组成,如下: HEADER.PAYLOAD.SIGNATURE HEADER 包含token的元数据,主要是加密算法,和签名的类型,如下面的信息,说明了 加密的对象类型是JWT,加密算法是HMAC SHA-256 {"alg":"HS256","typ":"JWT"} 然后需要通过BASE64编码后存入token中 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 Payload 主要包含一些声明信息(claim),这些声明是key-value对的数据结构。 通常如用户名,角色等信息,过期日期等,因为是未加密的,所以不建议存放敏感信息。 {"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name":"admin","exp":1578645536,"iss":"webapi.cn","aud":"WebApi"} 也需要通过BASE64编码后存入token中

SuperSocket 2.0 发布第一个预览版, 另寻找Yang Fan哥哥

梦想的初衷 提交于 2020-08-04 09:16:46
昨天,SuperSocket的作者发布了2.0版本的第一个预览版。SuperSocket 2.0 是一个经过全新设计的,第一个完全基于.NET Core的版本。作者正在积极尝试提供更简单易用的API的同时,尽量保证与老版本相似的原汁原味的开发体验。新的版本中亦删除了一些不太重要并且已有更好的替代实现的功能,例如服务器宿主。 时隔三年之后再次发布新的版本,意义重大。首先让我们来回顾一下SuperSocket的发展历程: 2008-2009: 起源于对公司Email服务器和FTP服务器开发的现状不满。低质量,冗余的代码和不统一的开发方式让作者产生了自己写一套Socket服务器框架的想法;后又开始尝试写了一些代码并形成了SuperSocket的雏形; 2010: SuperSocket正式开源并发布于codeplex.com; https://supersocket.codeplex.com 2010-10: SuperSocket 1.0 发布,仅支持命令行协议(Telnet); https://www.cnblogs.com/jzywh/archive/2010/10/19/SuperSocket1stable.html 2011-01: SuperSocket 1.3 发布,首个支持自定义协议的版本; https://www.cnblogs.com/jzywh/archive

Error NU5012 - nuget pack unable to find path (/bin/release/MyProject/bin/release)

隐身守侯 提交于 2020-08-03 14:08:17
问题 I'm trying to update my nuget package by running the command nuget pack -properties Configuration=Release but this gives me the following error: Unable to find 'bin/Release/{project-name}/bin/Release'. Mae sure the project has been built I'm not quite sure why it goes to my Release folder and then continues to go down to another Release folder as this doesn't exist? I'm quite lost here, and I'm not sure what to do. 回答1: TL;DR For the new <Project Sdk="Microsoft.NET.Sdk"> .csproj file format,

NuGet packageSources priority

老子叫甜甜 提交于 2020-08-02 07:55:59
问题 If you have multiple packageSources in your NuGet.config: <packageSources> <clear /> <add key="dev" value="http://server2/branches/feature1/nuget" /> <add key="release" value="http://server1/nuget" /> </packageSources> Is the order in the XML used when running nuget install, etc? If I have packageA at version 1.0.0-SNAPSHOT in both, will the dev channel version on feature1 branch win? 回答1: The order of your feeds in nuget.config determines the order that they show up in the drop down menus

NuGet packageSources priority

匆匆过客 提交于 2020-08-02 07:55:07
问题 If you have multiple packageSources in your NuGet.config: <packageSources> <clear /> <add key="dev" value="http://server2/branches/feature1/nuget" /> <add key="release" value="http://server1/nuget" /> </packageSources> Is the order in the XML used when running nuget install, etc? If I have packageA at version 1.0.0-SNAPSHOT in both, will the dev channel version on feature1 branch win? 回答1: The order of your feeds in nuget.config determines the order that they show up in the drop down menus

Include all dependencies using dotnet pack

与世无争的帅哥 提交于 2020-08-02 06:53:28
问题 Is there any way to force dotnet pack to include all referenced assemblies (all dependencies in project.json)? I believe this is related: https://github.com/dotnet/cli/issues/1290 https://github.com/dotnet/cli/issues/3959 回答1: As of 2020 there is no officially supported way to do this. However various people have come up with ways to achieve it, and the current best way is by editing your .csproj to include the following (full credit to @teroneko who came up with this on GitHub): <Project>

C# SQLite 数据库操作

纵然是瞬间 提交于 2020-07-29 10:02:52
C# SQLite 数据库操作学习 运行环境:Window7 64bit,.NetFramework4.61,C# 7.0 参考: SQLite 官网 SQL As Understood By SQLite System.Data.SQLite 菜鸟教程 SQL 教程 章节: 1、下载安装 2、数据类型 3、创建数据库 4、删除数据库 5、创建表 6、删除表 7、查询表结构 8、更改表名 9、增加列(字段) 10、读取创建表的 SQL 语句 11、更改列名 12、删除列 13、插入数据 14、替换数据 15、更新数据 16、删除数据 17、查询数据 18、获取查询数据的行数(多少条记录) 19、事务 Transaction 20、整理数据库 正文: 一、下载安装 这段时间在学习 C# 编程中,想写一个简单的进销存程序,就想到了用数据库,需要一个简单便携的桌面数据库,想自己写个,功力太浅,可以做为以后练手学习的项目。原来会用的 Foxpro 已经被微软不知丢在哪个旮旯了,在网上找了一下,发现只有 Access 和 Sqlite 可选,看了很多对比,决定还是学习使用 Sqlite。 在 System.Data.SQLite 官网 的 download 中的 Setups for 64-bit Windows (.NET Framework 4.6) sqlite-netFx46