所以init.ps1 https://docs.nuget.org/create/creating-and-publishing-a-package#automatically-running-powershell-scripts-during-package-installation-and-removal在两种情况下运行。第一次安装软件包时以及在打开解决方案时打开nuget powershell控制台时。
Initisps1第一次在解决方案中安装软件包时运行....每次打开解决方案时脚本也会运行
所以在Init.ps1中如何确定它在哪个上下文中运行?
答案 0 :(得分:1)
没有内置方式 - 每次初始化程序包管理器控制台时都会调用Init.ps1
,因此故意没有上下文参数。正如Yishai Galatzer所说的那样on GitHub:
这不是init.ps1的意图,我们不会启用它。 NuGet不是Visual Studio的自动化入口点,请不要这样使用它。
我确实觉得这有点不幸,因为2015年对Install.ps1
和Uninstall.ps1
的支持是removed in NuGet 3,这意味着我们在安装后无法再运行自定义代码,即使像显示HTML自述文件。这种推理是有道理的,但如果在Visual Studio中有特定的包装安装,那将会很好。
答案 1 :(得分:0)
这是一个古老的问题但也许对某人有所帮助。要在程序包安装期间运行脚本而不是控制台初始化,请将代码放在 install.ps1 文件中。