【发布时间】:2023-03-31 16:25:01
【问题描述】:
在项目中恢复包时,Nuget 不执行脚本。
场景如下:我有一个安装了自定义 NuGet 包的项目。此项目已为解决方案启用 NuGet 包还原。这一切都完美无缺,我通过将项目从 TFS 放到一个空文件夹中进行了多次测试。
我已将 init.ps1 和 install.ps1 添加到 nuGet 包中,并且仍然可以正确获取并安装该包,但除非手动安装该包,否则脚本不会执行。
确切地说,如果我是第一次从 TFS 获取项目,init.ps1 和 install.ps1 都不会执行。
但是,如果我关闭解决方案并重新打开它,init.ps1 会执行(如预期的那样),但当然 install.ps1 仍然没有执行,因为软件包已经恢复/安装。
手动安装/卸载软件包时,两个脚本都会正常执行(即,如果软件包“恢复”,则不会运行)。
我的互联网搜索没有发现任何关于这种行为的参考。我是否遗漏了一些明显的东西,或者在恢复包时这是否正常?
【问题讨论】:
-
包还原只是还原,而不是安装。我认为这是设计使然。 nuget.codeplex.com/workitem/2728
-
感谢您的链接 - 这也是我的结论。我没有意识到 init.ps1 背后的意图。至于 install.ps1,我认为这是有道理的,因为该软件包实际上已经“安装”了 - 它只是从项目文件夹中丢失,因此是“恢复”。
标签: visual-studio nuget