dotnet-exec 0.4.0 released

dotnet-exec 0.4.0 released

Intro

dotnet-exec 是一個 C# 程序的命令行小工具,可以用來運行一些簡單的 C# 程序而無需創建項目文件,而且可以自定義項目的入口方法,支持但不限于 Main 方法

Install/Update

dotnet-exec 是一個 dotnet tool,可以使用安裝 dotnet tool 的命令來安裝

安裝/更新最新穩定版本:

dotnet?tool?update?-g?dotnet-execute

安裝最新的 preview 版本:

dotnet?tool?update?-g?dotnet-execute?--prerelease

Updates

Features

Custom Usings

在 0.4.0 版本中支持用戶自定義 using 默認會包含默認的 using 引用,你也可以自定義要增加的 using

比如說下面這個示例,使用了一個 static using

dotnet-exec?'code:WriteLine(1+1);'?--using?"static?System.Console"

輸出結果如下:

11ef4047953b39089707eb033f30a1d5.png

如果不加這個引用的話就會報錯

7cda115f8cb12fe6d84ba6355335d04b.png

我們也可以移除默認的 using 引用,只需要以 “-”開頭就可以了,比如下面這樣

b88bc8ae880faaee60818ea282c37365.png

前面可以正常編譯并執行的程序就變得編譯不通過了

Preview enhancement

在新版本中增加了一個 --preview 的選項來簡化 --lang-version=Preview 的配置,除了 LangVersion 配置之外,還會增加一個程序集 attribute [assembly:System.Runtime.Versioning.RequiresPreviewFeatures] 來啟用一些還在預覽中的一些特性,從 .NET 6 開始支持正式版發布中帶一些預覽特性的功能,使用的話需要配置這個 attribute,所以針對 preview 增加了這個 Attribute

8e10a517f8184e159dedb11372454bb3.png

Startup type

新的版本中增加了一個 --startup-type 的選項,默認如果有多個入口會找到第一個,startup-type 可以幫助找到更加準確的入口

Reference handling refactor

之前是直接把編譯好的 dll 加載到了默認的 AssemblyLoadContext,這在一般情況下沒什么問題

但是在出現程序集版本沖突的時候就會報錯,新的版本中會使用單獨的 AssemblyLoadContext,并且修復了之前單獨使用 AssemblyLoadContext 時執行代碼的問題,就是因為前面介紹的 Reference Assembly,在編譯時使用引用程序集,在執行時換成了包含實現的實現程序集去執行代碼,這樣我們在需要測試兩種版本下不同的行為就會變得簡單

d82870775d780fcca7f4c071a6f42032.png

Executor refactor

0.4.0 的版本中增加了 --executor-type,類似于上一個版本中的 --compiler-type,但是目前只提供了一種實現,主要為了便于更好的進行擴展

Docker support

如果你不是 dotnet 開發者,不想安裝 dotnet sdk,你也可以使用 docker 來嘗試它

docker?run?--rm?weihanli/dotnet-exec:0.4.0?dotnet-exec?"code:(1+1).Dump()"

a1313e7e1c16bfbd58c34153fe2dcf8c.png

docker

Bug fix

  • 修復 Linux 上 dotnet path 的問題

    在 Linux 環境上默認的 dotnet 路徑并不是 dotnet 可執行文件,而是一個 symbol link 文件,需要找到對應真正的文件路徑,由于代碼的 BUG 導致沒有轉換成真正的文件路徑,在 0.4.0 版本中已經修復

    5ffb27f0a3b26208f55f862515ae9eb0.png

More

目前 dotnet-exec 依賴于 SDK 環境,后面要改進一下,只需要 Runtime 環境就可以,這樣 docker 鏡像可以小很多,另外打算支持可以自定義引用,比如引用自己的 dll 或者指定的 Nuget 包

References

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

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

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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/285656.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/285656.shtml
英文地址,請注明出處:http://en.pswp.cn/news/285656.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【天工Godwork精品教程】任務二:導入控制點、POS權重設置、連接點分布檢查、自由空三

無人機航測精品專欄鏈接:《無人機航空攝影測量精品教程》 【天工Godwork精品教程】任務一:創建工程(導入相片、編輯相機參數、導入POS) 【天工Godwork精品教程】任務二:導入控制點、POS權重設置、自由空三 【天工Godwork精品教程】任務三:刺像控點、空三平差、精度優化調…

C語言試題九十二之輸入數據有多行,第一行是一個整數n,表示測試用例的個數,后面跟著n行 ,每行包括一個由字母和數字組成的字符串

? ?作者簡介:大家好我是碼莎拉蒂,CSDN博客專家?????? ??個人主頁:個人主頁 ??系列專欄:C語言試題200例 ??推薦一款模擬面試、刷題神器?? 點擊跳轉進入網站 1、題目 輸入 輸入數據有多行,第一行是一個整數n,表示測試用例的個數,后面跟著n行,每行包括一…

Spring中Bean的實例化

在Spring中要實例化一個Bean有幾種方法&#xff1a; 1、最常用的&#xff08;普通方法&#xff09; <bean id"myBean" class"www.com.org.MyBean" /> 使用這樣方法&#xff0c;按Spring就會使用Bean的默認構造方法&#xff0c;即通過沒有參數的構造方…

cc2530學習筆記

case KEY_CHANGE://按鍵事件 case AF_INCOMING_MSG_CMD://接收數據事件,調用函數AF_DataRequest()接收數據 case ZDO_STATE_CHANGE: //只要網絡狀態發生改變&#xff0c;就通過ZDO_STATE_CHANGE事件通知所有的任務。 //同時完成對協調器&#xff0c;路由器&#xff0c;終端的設…

【天工Godwork精品教程】任務三:刺像控點、空三平差、精度優化調整

無人機航測精品專欄鏈接:《無人機航空攝影測量精品教程》 【天工Godwork精品教程】任務一:創建工程(導入相片、編輯相機參數、導入POS) 【天工Godwork精品教程】任務二:導入控制點、POS權重設置、自由空三 【天工Godwork精品教程】任務三:刺像控點、空三平差、精度優化調…

.NET in China - What's New in .NET

點擊藍字關注我們編輯&#xff1a;Alan Wang排版&#xff1a;Rani Sun活動介紹去年11月&#xff0c;.NET 6 的發布&#xff0c;為我們帶來了 .NET 多平臺應用 UI&#xff08;.NET MAUI&#xff09;。就在前不久&#xff0c;.NET MAUI 已正式發布。未來&#xff0c;作為 .NET 7 …

Android之網絡請求提示Cleartext HTTP traffic to dev*******.com not permitted

1、問題 請求服務端網絡錯誤提示錯誤如下 Cleartext HTTP traffic to dev*******.com not permitted2、解決辦法 Android9.0 默認是禁止所有的http,AndroidManifest.xml添加如下 android:usesCleartextTraffic="true"同時在res目錄新建文件夾xml,放入network_se…

[轉].NET 開源項目 Anet 介紹

使用 Anet 有一段時間了&#xff0c;已經在我的個人網站&#xff08;如 bookist.cc&#xff09;投入使用&#xff0c;目前沒有發現什么大問題&#xff0c;所以才敢寫篇文章向大家介紹。 GitHub 地址&#xff1a; https://github.com/anet-team/anet Anet 是一個 .NET Core 通用…

【天工Godwork精品教程】任務四:EOS正射影像DOM生成,DOM精編

無人機航測精品專欄鏈接:《無人機航空攝影測量精品教程》 【天工Godwork精品教程】任務一:創建工程(導入相片、編輯相機參數、導入POS) 【天工Godwork精品教程】任務二:導入控制點、POS權重設置、自由空三 【天工Godwork精品教程】任務三:刺像控點、空三平差、精度優化調…

強烈推薦國內幾款優秀的開源電商系統

一、背景需求 我玩得好的朋友剛創業&#xff0c;搞電商最一塊&#xff0c;想做個全套的電商框架系統&#xff0c;希望支持公眾號、小程序、H5、pc后臺管理等功能&#xff0c;創業初期資金非常緊張&#xff0c;請開發人員做成本太高&#xff0c;然后就咨詢我&#xff0c;有沒有最…

Maui的學習之路(二)--設置

Maui的學習之路&#xff08;二&#xff09; -- 設置上一篇我們做了Maui的基本介紹&#xff0c;理論上這一篇應該會創建第一個Maui的應用&#xff0c;以便對此進行詳細的評估&#xff0c;并逐步深入。如果你需要進行Maui首個應用的創建&#xff0c;那么歡迎訪問.NET MAUI 創建移…

今天,Java編程周末提高班(第一期)正式結束

Java編程周末提高班&#xff08;第一期&#xff09;&#xff0c;走過了近兩個月歷程&#xff0c;一共同擁有68人次學生周末到老師家進行Java學習與交流。近距離的和一群年輕的學習接觸&#xff0c;收獲非常多&#xff0c;特別是對以后教學的改進。在學習的閑暇。大家自己做飯&a…

基本反射了解

1 package cn.wh;2 /**3 * java.lang.Class4 * author 王恒5 * time 2016年11月2日 上午10:39:256 */7 public class RedlectTest {8 public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException {9 …

【PhotoScan精品教程】任務四:PhotoScan做空三+CC生成正射、三維建模綜合案例

《無人機航空攝影測量精品教程》合集目錄(Pix4d、CC、EPS、PhotoScan、Inpho、GodWork) 【PhotoScan精品教程】任務一:新建工程、導入照片、設置坐標系、導入控制點(POS)、自由空三 【PhotoScan精品教程】任務二:刺像控點,平差,質量報告精度檢查,像控點POS權重調配 【…

[轉]讓.NET應用秒變微服務

隨著近年來微服務的發展&#xff0c;許多團隊開始將自己的單體應用改造為微服務。通常Java或Go的應用可以通過業界已有的微服務框架作為微服務開發和改造的底座&#xff0c;封裝掉解決跨網絡問題帶來的復雜性。但以Chassis模式進行的微服務改造有兩大問題&#xff1a;多語言框架…

C語言九十三之輸入一個字符x,找到輸入的那句話(字符串)里面一樣字母的位置。

??個人主頁:個人主頁 ??系列專欄:C語言試題200例目錄 ??推薦一款刷算法、筆試、面經、拿大公司offer神器 ?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 輸入一個字…

WPF 使用 MAUI 的自繪制邏輯

這是一個當前還沒開發完成的功能&#xff0c;準確來說連預覽版也算不上的功能。我原本以為 MAUI 是無法在 WPF 上面跑的&#xff0c;然而在看完了 MAUI 整個大的設計&#xff0c;才了解到&#xff0c;原來 MAUI 是一個非常龐大的開發項目。在 MAUI 里面&#xff0c;雖然現在是正…

[轉]redis 5.0.5 5分鐘搭建redis集群

環境&#xff1a;centos 7 1&#xff1a;下載并安裝redis ???????$ wget http://download.redis.io/releases/redis-5.0.5.tar.gz$ tar xzf redis-5.0.5.tar.gz$ cd redis-5.0.5$ make redis 5.0版本 集群搭建不需要我們安裝ruby就可以搭建成功&#xff0c;并且redis…

【土地評價與土地管理】案例:某地區柑橘種植適宜性評價

文章目錄 一、確定評價單元二、評價因子選擇三、評價因子權重的確定四、構建評價分級標準五、綜合評價六、適宜性等級劃分七、得出適宜性評價結果柑橘種植所需的自然條件: 柑橘果樹生長發育、開花結果與溫度、日照、水分(濕度)、土壤以及風、海拔、地形和坡向等環境條件緊密相…

django中怎樣生成非HTML格式的內容。

某些時候可能有這種需求。在網頁中點擊一個鏈接或者一個button希望返回一張圖片、一個pdf文檔、一個csv文檔等而非HTML。在diango中非常easy做到這些。django中的view用來接收http request并返回web response。通常情況下&#xff0c;返回的內容為HTML&#xff0c;但其可以返回…