我们已经创建了很多 NuGet 包。其中一个是工具,它包含一个特殊的编译器,安装方式类似于 dotnet tool
.命令的名称是“PolyGen”。
我们使用了与 Grpc.Tools
类似的机制使用,这意味着我们已经在 NugetPackage 中定义了 .targets 文件。它运作良好。
但是当我更新我的 PolyGen 后,我必须更新 dotnet 工具 手动 与 dotnet tool update
命令。
但是我看到的时候Grpc.Tools
更新后,会自动执行 dotnet 工具更新。包管理器控制台写了以下消息:
Executing nuget actions took 181,36 ms
我们如何定义这个自动执行的命令,以避免手动更新?
谢谢你们!
最佳答案
您可以使用 init.ps1
powershell 脚本来完成此任务。每次在目标机器上安装软件包后都会执行此脚本。
只需创建文件 init.ps1
在 tools/
包含以下内容的包定义文件夹:
param($installPath, $toolsPath, $package, $project)
# Write all required actions on powershell here.
但请注意
init.ps1
还有每次打开解决方案时执行 .如果您只需要在 NuGet 包安装后执行一次 - 您可以插入条件参数并将其值存储在包安装文件夹中(例如在文件中)。
关于c# - 在我的 nuget 包安装后执行一个操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58157969/