nuget

在C#中使用Irony实现SQL语句的解析

 ̄綄美尐妖づ 提交于 2020-07-28 04:21:46
在上一篇博文中,我介绍了LOGO语言的C#实现,在该项目中,我使用了.NET下的语法解析框架:Irony。Irony框架最开始的时候是由Roman Ivantsov发布在codeplex上的一个开源项目,它使用MIT协议开源。由于2017年的时候,微软关闭了codeplex服务,为了让这个优秀的项目能够继续为人所用,我将其复制到了我的Github账号下,并将其移植到NET Standard 2.0,地址是: https://github.com/daxnet/irony 。于是,Irony目前可以在.NET Core下使用了。事实上,Github中有很多Irony的版本,但大多数都不支持.NET Core。 不仅如此,我还在Azure DevOps上配置了持续集成,因此,你可以通过NuGet很方便地使用Irony。Irony相关的NuGet包有两个,你需要在你的项目中同时安装以下两个NuGet包: Install-Package Irony.NetCore -Version 1.1.11 Install-Package Irony.Interpreter.NetCore -Version 1.1.11 接下来,我介绍一下如何用Irony实现一个语法解析器,我们以SQL语句为例进行介绍。 定义语法 所有使用Irony框架的语法定义,都必须继承于Grammar类

关于对Entity Framework Core3.1的理解与总结

我们两清 提交于 2020-07-28 03:42:12
Entity Framework Core 是一个ORM,所谓ORM也是ef的一个框架之一吧,简单的说就是把C#一个类,映射到数据库的一个表,把类里面的属性映射到表中的字段。然后Entity Framework Core3.1 是一个长期支持的版本。本人非常乐意对.NET社区繁荣奉献自己的青春。希望国内以后能够有越来越多的.NET程序员。 创建了一个.NET Standard类库。 可以编辑文件查看netStandard版本号,我这里是一个2.0版本。 顺便简单的说一下netStandard吧,实际上它应该就是一个开源库,不管是.NET Core还是EntityFramework都可以引用它。就是一个底层类库,并且该类库可以在不同的平台运行,ios、mac、linux等。一处编写多处运行,而且它还是开源的。当然这里你可以把它改成2.1的版本。 右键项目属性 这样就该好了。。。 然后又创建了一个类库,操作和上面一样,另一个是创建一个控制台应用,这个控制台应用是.NET Core应用的,版本应该是netcoreapp3.1,可以看看 以上准备工作完成后,就开始进行第一步操作,生成数据库! 在Demo.Main类库中创建所需要的类 这里我就简单的举个栗子。一个联赛类,一个是俱乐部类,一个是球员类,分别是一对多的关系。 namespace Demo.Main { /// <summary>

WPF dotnet core 的 Blend SDK Behaviors 库

a 夏天 提交于 2020-07-28 02:59:28
之前版本是通过安装 Blend SDK 支持 Behaviors 库的,但是这个方法都是通过引用 dll 的方式,不够优雅。在升级到 dotnet core 3.0 的时候就需要使用 WPF 官方团队开源的 Microsoft.Xaml.Behaviors.Wpf 库代替 先通过 NuGet 安装 Microsoft.Xaml.Behaviors.Wpf 库 或者在 csproj 添加下面代码 <PackageReference Include="Microsoft.Xaml.Behaviors.Wpf"> <Version>1.1.19</Version> </PackageReference> 将代码里面的引用 System.Windows.Interactivity 库的内容做替换 将 xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" 替换为 xmlns:i="http://schemas.microsoft.com/xaml/behaviors" 就可以了,这样就能解决找不到 System.Windows.Interactivity 无法构建成功 c# - How to add System.Windows.Interactivity to

使用 nuget server 的 API 来实现搜索安装 nuget 包

落爺英雄遲暮 提交于 2020-07-27 15:12:56
使用 nuget server 的 API 来实现搜索安装 nuget 包 Intro nuget 现在几乎是 dotnet 开发不可缺少的一部分了,还没有用过 nuget 的就有点落后时代了,还不快用起来 nuget 是 dotnet 里的包管理机制,类似于前端的 npm ,php 的 composer,java 里的 maven ... nuget 定义了一套关于 nuget server 的规范,使得用户可以自己实现一个 nuget server 也正是这些规范,使得我们可以根据这些规范来实现 nuget server 的包管理的功能,今天主要介绍一下,根据 nuget server 的 api 规范使用原始的 HTTP 请求来实现 nuget 包的搜索和使用 nuget 提供的客户端 SDK 来实现 nuget 包的搜索和下载 Nuget Server Api Nuget 协议介绍 nuget 的协议有好几个版本,目前主要用的是 v3,开源的 nuget server Baget 也实现了基于 nuget protocal v3 的规范 我们添加 nuget 源的时候会指定一个 source url,类似 https://api.nuget.org/v3/index.json 这样的,着通常被称为 Service Index,是一个 nuget 源的入口,有点类似于

.net core3.1 abp学习开始(一)

China☆狼群 提交于 2020-07-27 13:02:57
vs版本 2019,链接数据库使用Navicat,数据库MySql abp的官网: https://aspnetboilerplate.com/ ,我们去Download这里下载一个模板,需要选好Target Version、输入项目名字,我这里使用abp的mvc版本、项目名为AbpLearn下载一份 当前下载下来是5.6版本 解压后 abp的sln在aspnet-core文件夹下 打开文件夹,双击打开sln,第一次加载的时候可能有点慢,请耐心等待nuget包自动加载完毕 AbpLearn.Application:应用层,主要包括定义和前台进行交互的接口层,调用领域层中对应的接口,默认包括:验证、配置、多租户、角色、用户、Session的一些操作,是整个Web API对外部提供调用的核心接口 AbpLearn.Core:领域层,对现实业务进行抽象,通过调用ORM层的提供的接口来对当前的User、Role、Tenant等一系列的管理操作,并对外提供统一的Manager接口,从而供应用层进行相关的操作,另外还提供了诸如验证、配置、Feature、本地化等等一些列基础接口。 AbpLearn.EntityFrameworkCore:ORM层,该层顾名思义是使用EntityFrameworkCore来和SQL Server数据库进行交互的核心逻辑,包括一些常规的各种CRUD操作

第十节:IdentityServer4隐式模式介绍和代码实操演练

左心房为你撑大大i 提交于 2020-07-27 08:40:29
一. 前言 1.简介   简化模式(implicit grant type)不通过第三方应用程序的服务器,直接在浏览器中向认证服务器申请令牌,步骤在浏览器中完成,令牌对访问者是可见的,且客户端不需要认证。 注:该模式也有很大的弊端,就是请求令牌在浏览器中能被看到。 2. 流程图 流程 (A)客户端将用户导向认证服务器。 (B)用户决定是否给于客户端授权。 (C)假设用户给予授权,认证服务器将用户导向客户端指定的"重定向URI",并在URI的Hash部分包含了访问令牌。 (D)浏览器向资源服务器发出请求,其中不包括上一步收到的Hash值(#号的部分)。 (E)资源服务器返回一个网页,其中包含的代码可以获取Hash值中的令牌。 (F)浏览器执行上一步获得的脚本,提取出令牌。 (G)浏览器将令牌发给客户端。 (H)客户端拿到令牌以后,就可以去请求资源服务器获取资源了。 3. 流程剖析 步骤A: 导向认证服务器,如下请求,进而再导向认证服务器的登录页面。 GET /authorize?response_type=token&client_id=s6BhdRkqt3&state=xyz&redirect_uri=https%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb 参数包括:   response_type:表示授权类型,此处的值固定为"token",必选项。

(八十七)c#Winform自定义控件-朝上的瓶子

徘徊边缘 提交于 2020-07-27 06:56:56
官网 http://www.hzhcontrols.com/ 前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章。 GitHub: https://github.com/kwwwvagaa/NetWinformControl 码云: https://gitee.com/kwwwvagaa/net_winform_custom_control.git 如果觉得写的还行,请点个 star 支持一下吧 欢迎前来交流探讨: 企鹅群568015492 来都来了,点个【推荐】再走吧,谢谢 NuGet Install-Package HZH_Controls 目录 http://www.hzhcontrols.com/blog-63.html 用处及效果 准备工作 之前的瓶子是朝下的,这里扩展一下 朝上 (五十六)c#Winform自定义控件-瓶子(工业) 开始 增加一个属性 private Direction direction = Direction.Down; [Description( "瓶子方向,默认朝下" ), Category( "自定义" )] public Direction Direction { get { return direction; } set { direction = value; Refresh(); } }

FFMpeg.AutoGen(1)讲解官方example代码:Main函数、 解码

时光怂恿深爱的人放手 提交于 2020-07-27 04:25:24
FFMpeg 是一套C编译的开源工具集。主要用于视频处理,可以编解码视频,建立流媒体服务器等等。官方网站: http://ffmpeg.org/ FFMpeg.AutoGen 封装方法以方便C#调用FFmpeg。项目地址: https://github.com/Ruslan-B/FFmpeg.AutoGen 。可以使用NuGet安装。 AutoGen只是封装调用FFmpeg,程序还是需要下在FFmpeg工具放在程序目录里,且版本要对应。 笔者用FFMpeg.AutoGetn的官方example代码介绍一下FFMpege如何使用(源代码在其github库里)。 example是一个命令行程序,mian函数里面的代码如下。我将通过此函数调用顺序介绍ffmpeg.AutoGet的用法。 目录: 1.注册FFmpeg库。实际就将ffmpeg库的地址告诉autogen 2.ffmpeg 一些调用其的配置(可选) 2.1 配置日志输出 2.2配置硬件解码器ffmpeg是支持硬解的.具体支持类型可以参考ffmpeg官方文档。转载网友摘录的ffmpeg支持硬解编码的枚举。 3.解码函数DecodeAllFramesToImages 3.1 VideoStreamDecoder类 3.2 VideoFrameConverter类 3.3 相关数据结构AVPacket,AVFrame

.NET 合并程序集(将 dll 合并到 exe 中)

99封情书 提交于 2020-07-27 04:24:40
背景:我们的应用程序通常都是由多个程序集组成,例如一个 exe 程序依赖于多个 dll 程序集。在某些情况下,我们希望程序的分发能够简单,单独一个 exe 就能正常运行。这种情况下,就需要将 dll 依赖项合并到 exe 主程序中。 本文章给大家讲下非常好用的 NuGet 包,Costura.Fody 1.第一步:通过 NuGet 安装 Costura.Fody 和 Fody Costura.Fody 是 Fody 中的工具(加载项)之一,通常情况下只需安装前者即可,后者会自动安装。 这这边先添加一个Newtonsoft.Json的包做实验,让结果看到更明显,后面有后面有生成前后的对比 第二步:添加 FodyWeavers.xml 文件 <?xml version="1.0" encoding="utf-8" ?> <Weavers> <Costura> <ExcludeAssemblies> Foo Bar </ExcludeAssemblies> </Costura> </Weavers>    第三步:编译项目 编译你的项目,看一下Debug输出目录, dll 是不是合并了 普通生成: Costura.Fady生成: 从两张图片我们可以发现Newtonsoft的相关文件已经合并了,WindowsFormsApp1.exe的大小也发生了变化,从9KB变成了270KB 第四步

记一次 Microsoft.Bcl.Async 使用经验

感情迁移 提交于 2020-07-27 04:01:25
起因:   由于公司项目使用场景存在很多的XP环境,导致使用.NET Framework版本不能大于4.0版本。最近开发新功能时;从nuget上下载一个开源dll(该dll 4.0 版本依赖 Microsoft.Bcl.Async 项目 )。本地编译很开心轻松编译通过,提交项目后同事编译后各种报错。就开启后续系列旅程。    过程问题 :      1、同事环境编译失败总是报错。         最终排查出引用的依赖dll提交到TFS中文件不是对应使用版本的(.NET 4.0版本)   2、编译成功后项目引用后编译引用项目报错。       该问题根据提示需要对相关项目了解 解决办法:    由于对 Microsoft.Bcl.Async 不了解,那么首先对该项目进行了相关了解:    稳定版本发布: https://docs.microsoft.com/en-us/archive/blogs/bclteam/microsoft-bcl-async-is-now-stable    该包允许开发者在.NET 4、Silverlight 4和Windows Phone 7.5使用C# 5和VB中的异步特性。该包由三个库组成:Microsoft.Bcl、Microsoft.Bcl.Async和Microsoft.Bcl.Build。由于使用了 程序集统一 的方式