1. 程式人生 > >.Net Core開發日誌——Global Tools

.Net Core開發日誌——Global Tools

使用 prope con 例如 不知道 ref 程序 輸入 目錄切換

.Net Core 2.1引入了一個新的功能,Global Tools,其本質是包含控制臺應用程序的nuget包,目前而言,還沒有特別有用的工具,不過相信隨著時間的推移,各種有創意或者實用性強的Global Tools會出現在大家的視野裏。

安裝一個Global Tools很簡單,輸入一條命令dotnet tool install -g dotnetsay,名為dotnetsay的工具便已經安裝在特定目錄下。

OS Path
Linux/macOS $HOME/.dotnet/tools
Windows %USERPROFILE%.dotnet\tools

技術分享圖片

想要使用工具的話則需要輸入該工具對應的命令,比如dotnetsay

技術分享圖片

雖然Global Tools屬於nuget包的一類,但由於nuget官網上並沒有將其特別分類,所以不知道其名字的話,很難從眾多nuget包中搜尋出來。較好的方法是在Github的natemcmaster/dotnet-tools庫中找到所需的工具。

粗粗過了一遍,例如dotnet-serve,dotnet-search,dotnet-md5等個人覺得還是挺有用的。

但有些工具在安裝完後,會顯示指定版本的framework沒有被找到的錯誤。在兼容性方面Global Tools還有待改善。

技術分享圖片

想要自己創建一個Global Tools也不是件困難的事情。

因為Global Tools其實就是個控制臺應用程序,那麽首先即是new一個這樣的程序。dotnet new consoel -o helloGlobalTools

代碼內容很簡單,顯示包含當前時間的一串字符:

using System;

namespace helloGlobalTools
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine($"Hello {DateTime.Now}");
        }
    }
}

在csproj文件中的PropertyGroup節點內需要加入<PackAsTool>true</PackAsTool>

技術分享圖片

通過dotnet pack

命令可以在bin\Debug目錄下生成helloGlobalTools.1.0.0.nupkg安裝包文件。

將當前目錄切換成該文件的路徑,然後執行Global Tools安裝命令dotnet tool install -g helloGlobalTools --add-source ./。完成安裝後還可以通過dotnet tool list -g進一步確認是否已成功安裝。

技術分享圖片

最後便是輸入你的工具命令名,得到所期望的結果。

技術分享圖片

當然,如果你對自己的作品有信心,同時又想分享給其他人的話,還可以將nuget包上傳至nuget.org的官方網站。這樣你的勞動成果便可以最大化的發揮價值了。

參考文檔:

global-tools

.Net Core開發日誌——Global Tools