.NET Core 3.0 本地工具
.NET Core從最早期的版本就開始支持全局工具了。如果僅僅需要在某個項目中或某個文件夾中使用特定的工具,那么.NET Core 3.0就允許您這樣做。?
使用.NET Core 3.0,您可以在特定的文件夾下安裝“本地”工具,它的作用范圍僅限于該文件夾及其子文件夾。?
?
在.NET Core 3.0之前?
如果我想在一個項目中使用Cake Build,那么在.NET Core 3.0之前,我可以這樣做,把Cake.Tool安裝為全局的工具:?
?
但是如果多個項目需要使用不同版本的?Cake.Tool,那么在.NET Core 3.0之前,我們只能這么做:?
?
然后這樣用:?
但是這樣也有幾個缺點:?
這個命令比較難記,略長。?
沒有這個項目中所安裝工具的清單。?
如果同一個版本的工具安裝在n個地方,那么就有n個拷貝。?
由于工具文件的后綴名可能不一樣,所以啟動工具的命令可能是和平臺有關的。?
?
?
.NET Core 3.0 本地工具
打開Visual?Studio的Package Manager Console(Powershell或者其它終端也可以),在安裝本地工具之前,首先要創建一個本地工具清單文件,使用命令dotnet new tool-manifest:?
?
然后進入項目所在目錄,在.config文件夾下面可以看到名為dotnet-tools.json這個文件:?
?
然后我在這個項目里面安裝Cake.Tool這個工具,使用dotnet tool install xxx即可:?
?
然后再看dotnet-tools.json文件:?
可以看到cake.tool顯示在里面了。?
?
運行本地工具?
如果Cake.Tool是全局安裝的話,那么我直接執行cake --help就應該有結果:?
但是,很顯然這樣做不行。?
?
由于Cake.Tool是本地安裝的,運行本地工具需要在前邊加上dotnet:?
這樣就可以了。?
?
其實上面那種寫法是下面寫法的簡寫:?
?
也可以這樣寫:?
?
此外,在工具安裝目錄的子目錄里也可以使用這個工具。?
?
共享本地工具?
我們可以把.config目錄提交到源碼管理,這樣的話,其它開發者也可以使用安裝的本地工具了。這些工具實際是安裝在全局nuget包緩存里,如果第一次運行的時候沒有安裝工具的包,那么你需要先執行?dotnet tool restore?進行還原,然后才可以使用這些本地工具。?
總結
以上是生活随笔為你收集整理的.NET Core 3.0 本地工具的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 动手造轮子:实现一个简单的依赖注入(一)
- 下一篇: 张高兴的 .NET Core IoT 入