.NET Core開發日志——Global Tools


.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-servedotnet-searchdotnet-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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM