dotnet-exec 0.12.0 released

dotnet-exec 0.12.0 released

Intro

dotnet-exec 是一个 C# 程序的小工具,可以用来运行一些简单的 C# 程序而无需创建项目文件,让 C# 像 python/nodejs 一样简单,而且可以自定义项目的入口方法,支持但不限于 Main 方法。

Install/Update

dotnet-exec 是一个 dotnet tool,可以使用安装 dotnet tool 的命令来安装

安装/更新最新稳定版本:

dotnet tool update -g dotnet-execute

安装最新的 preview 版本:

dotnet tool update -g dotnet-execute --prerelease

执行 dotnet-exec -h 或者 dotnet-exec --help 即可看到一些使用说明

8935e9895fc9b79247b95008480571fb.png

help text

Features

Config profile

在这个版本中我们加入了一个 config profile 的功能,我们可以将常用的选项配置保存到一个 profile 中,这样我们就可以直接重用 profile 就可以了就不需要每次都用,我们可以使用 dotnet-exec profile --help 查看使用帮助

6cf115a6a718474868c36a797059e177.png

可以使用 ls 命令列出所有的 profiles

dotnet-exec profile ls

使用 get 命令获取 profile 的详细配置:

dotnet-exec profile get web

使用 set 命令来配置 profile 对应的配置:

dotnet-exec profile set web -r "nuget:WeihanLi.Web.Extensions" -u 'WeihanLi.Web.Extensions' --web --wide false

使用 rm 命令来删除某一个 profile 的配置

dotnet-exec profile rm web

在执行代码的时候可以通过 --profile 指定要使用的 profile 配置,也可以额外补充 using 以及 reference 信息,也可以移除 profile 中的某一个 using 或者 reference

dotnet-exec 'WebApplication.Create().Chain(_=>_.MapRuntimeInfo()).Run();' --profile web --using 'WeihanLi.Extensions'

4231d707828b27b488c3cc5c19ebcd15.png

Additional script for scripts

在之前版本中增加了对代码的依赖支持,但是,script 的漏掉了,在这个版本中补充了上去

一个简单的示例如下:

cddeb7530a37d54e1955c024edad410c.png

需要注意的是 script 的依赖也是script代码有一些特殊,不能包含命名空间声明的操作,否则会报错

Gitee url transform

在之前的版本中我们已经添加了对于 github 和 gist 的支持,在这个版本中增加了对 gitee 的支持

在请求 https://gitee.com/weihanli/storage/blob/master/test/test.cs 的时候会自动转换成 https://gitee.com/weihanli/storage/raw/master/test/test.cs

执行结果如下:

de369b568d28e5708b18bd0c81ed5db9.png

Reference && Using enhancements

在之前的版本中我们不支持 reference 的 remove,添加了 profile 功能之后有些 reference 可能会希望执行的时候移除掉,所以在新的版本中支持了 reference 的 remove,移除的时候和 using 类似,以 - 开头即可,另外移除的优先级比较高,如果既有添加又有移除最终会被移除,示例如下:

移除 using

7a93502e168ddccfa673b5bc8c5e41df.png

removing using

移除 reference

ef4e94e4fef97a45585b13424e5e8916.png

在新的版本中支持了从 project file 解析 project 引用,但只支持本地的 project file,远程的 project file 不支持,因为要 build 项目,项目不在本地无法进行 build

另外改进了一下 framework reference,针对某个 framework 的引用会自动尝试加载隐式命名空间引用

通过 framework reference 的形式来跑一个 web api,这等于是直接使用 --web 选项

dotnet-exec 'WebApplication.Create().Run();' --reference 'framework:web'

我们给 asp.net core web 框架加了几个别名,可以根据自己需要选择,目前支持的有 web/aspnet/aspnetcore

be4e8f536363814d7fad4de535a7bb49.png

再来看一下 WindowsDesktop 的框架引用示例:

8cb9389d830e37131733a3f1a77c8e77.png

More

.NET Conf China 2022 release~~

References

  • https://github.com/WeihanLi/dotnet-exec

  • https://www.nuget.org/packages/dotnet-execute/

  • https://hub.docker.com/r/weihanli/dotnet-exec

  • https://github.com/WeihanLi/dotnet-exec/compare/0.11.0...0.12.0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/280613.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

美国用户现在可以下载其所有Apple帐户数据,这是操作方法

Starting today, Apple is allowing all US users to download a copy of every last bit of their data from the company. 从今天开始,Apple允许所有美国用户从该公司下载其数据的最后一部分的副本。 This feature has been available for EU users since May, th…

“互联网+”促传统企业三大转型

2015年是传统行业互联网化的元年。国家提出要制定“互联网”行动计划后,互联网旅游、互联网汽车、互联网三农、互联网物流、互联网医疗等开始起步。同时,面对不确定的移动互联网时代,互联网某些技术和模式还在进化、演变之中,每一…

开发高性能ASP.NET应用

本文是“.NET Conf China 2022”上我的一个分享,这里更细化的分享出来。分享分为四个部分:制定指示设计应用正确测试性能优化高性能:不一定是架构出来的,但一定是优化出来的。制定指标-收集首先把项目中的热路径API和核心API找出来…

Django08-1:模型层(ORM)--聚合查询/分组查询/F与Q查询/开启事务/常用字段及参数/自定义字段/数据库查询优化

聚合查询 单独使用时,用aggregate 1.只要是跟数据库相关的模块 基本都在django.db.models里面 如果没有应该在django.db里面 2. 聚合查询通常配合分组使用 from django.db.models import Avg, Sum, Max, Min, Count# 1.所有书的平均价格 resmodels.Book.objects.…

记事本状态栏不会自动_如何在记事本中同时启用状态栏和自动换行

记事本状态栏不会自动The status bar in Windows’ Notepad displays the current line number and column number of the cursor location. However, if you find that the Status Bar option on the View menu is grayed out, it may be because you have Word Wrap enabled…

极端高温导致澳大利亚断网

西澳大利亚首府珀斯因恶劣天气出现了网络连接问题, 网络故障不是由于暴风雨或闪电引起的,而是极端高温。本周一是珀斯有记录以来第六热的天,当天最高温度达到了44.4℃。因为创纪录的高温,澳大利亚宽带 服务商iiNet在当…

推荐一款采用 .NET 编写的 反编译到源码工具 Reko

今天给大家介绍的是一款名叫Reko的开源反编译工具,该工具采用C#开发,广大研究人员可利用Reko来对机器码进行反编译处理。我们知道.NET 7 有了NativeAOT 的支持,采用NativeAOT 编译的.NET程序 无法通过ILSpy 之类的传统工具得到源码&#xff0…

并行传输数据和串行传输数据_为什么串行数据传输比并行数据传输快?

并行传输数据和串行传输数据SATA hard drive connections are faster than older PATA hard drive connections and the same can be said for external cabling standards, but this is counter-intuitive: why wouldn’t the parallel transmission be faster? SATA硬盘驱动…

微软让卡塔尔世界杯踏入元宇宙

遵守前一篇公众号文章里的承诺,昨天盆盆在视频号里录制了一段5分钟左右的短视频,讲了江森自控和微软Azure,如何帮助卡塔尔世界杯打造基于元宇宙的数字体育馆。Part.1欢迎扫码关注我的视频号(每天更新元宇宙、云计算和数字化的短视频)。Part.2…

插槽1单通道插槽2双通道_相机双存储卡插槽有什么大不了的?

插槽1单通道插槽2双通道If you paid any attention to the launch of Canon and Nikon’s first full frame mirrorless cameras—the EOS R, Z6, and Z7— you’d have noticed that some people were pretty unhappy that they only came with a single card slot—an SD slo…

python 垃圾回收详解

原文:https://zhuanlan.zhihu.com/p/31150408 总纲策略和垃圾回收系统工作内容引用计数详解标记-清除分代收集循环引用编程应用-常见方法ex 过程详解使用建议触发机制参考文献Python垃圾回收机制--完美讲解(Python vs Ruby)Python垃圾回收机制…

mac 不能连接wi-fi_如何阻止Mac自动连接到Wi-Fi网络

mac 不能连接wi-fiYour Mac automatically reconnects to Wi-Fi networks you’ve previously connected to. Starting with macOS High Sierra, you can now tell your Mac not to automatically connect to certain Wi-FI networks. Your Mac will remember the Wi-Fi networ…

罗汉塔最少步骤_如何以最少的步骤压缩和密码保护文件?

罗汉塔最少步骤If you have a large batch of files to compress and you want to add password protection to each of them, what is the simplest or quickest way to do so? Today’s SuperUser Q&A post has the answer to a curious reader’s question. 如果要压缩…

IoTSharp中使用X509加密MQTT通讯并实现设备鉴权

IoTSharp支持MQTT协议通过 TLS 1.2 加密通讯, 并可以通过X509证书进行设备认证登录。基本配置在 appsettings.Production.json中需要 指定域名, 并设置EnableTls为true"MqttBroker":{"DomainName":"http://demo.iotsharp.net:2…

django12:form 组件/渲染标签/数据校验/钩子函数/

基本用法 from django import forms# 自己写一个类 class RegForm(forms.Form):username forms.CharField(min_length3,max_length8, label"用户名")password forms.CharField(min_length3,max_length8,label"密码")emailforms.EmailField() 1.校验数据为…

如何快速拥有一个 Web IDE

本文将介绍如何使用 2-3 句指令在几分钟内创建一个 Web IDE 环境。服务器准备如何准备服务器可以参考上文 一键体验 Istio,这里只需要一台即可,示例中的服务器 IP 为:43.154.189.116安装 Web IDE下载安装工具在服务器上,执行以下指…

有了防火墙、IPS、WAF 还需要数据库审计?

本文讲的是 有了防火墙、IPS、WAF 还需要数据库审计?,“我们的网络安全系统中已经有了Web应用防火墙、网络防火墙和IPS,难道还需要数据库审计吗?”很多人有这样的疑问,网络中有层层防护,还不能保护数据库的…

20155339 Exp4 恶意代码分析

20155339 Exp4 恶意代码分析 实验后回答问题 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。 监控网络连接。当某个…

Linux就该这么学---第七章(LVM逻辑卷管理器)

第七章节-LVM技术逻辑卷管理器(LVM,Logical Volume Manager)1.物理卷(PV,physical Volumn)2.卷组(VG,Volume Group)3.逻辑卷(LV,Logical Volume)基本单元[PE,Physical Extent] 物理卷处于LVM中的最底层,可以将其理解为物理硬盘、硬盘分区或者RAID磁盘阵列卷组建立在…

从Windows XP升级? 这是您需要了解的Windows 7

With Windows XP reaching the end of its long support life, many businesses and individuals are avoiding Windows 8 and upgrading to Windows 7 instead. If you’re a latecomer to Windows 7, here are the basics you need to know. 随着Windows XP使用寿命的延长&am…