我正在按照“Create a NuGet package that shows update notifications”中找到的解决方案来获取 nuget 包更新的通知。

但是 init.ps1 脚本执行了两次。

我删除了所有代码,以便在 init.ps1 中只有以下代码。

param($installPath, $toolsPath, $package, $project)
if ($project -eq $null) {
$project = Get-Project
}

Write-Host "Hello, I'm running inside of init.ps1"

当我关闭解决方案并重新打开它时,在输出窗口中,文本出现两次。

我使用的是 VS 2012,NuGet 2.2.31210

我检查了packages.config 文件,我的包只有一个条目。

为什么它运行两次,有什么办法让它只运行一次?

谢谢,

最佳答案

在 init.ps1 脚本中,Get-Project 将返回解决方案中的随机项目,而不是已安装包的特定项目。

使用 $projects = Get-Project -All 获取解决方案中的项目列表,遍历项目并搜索 packages.config 以检查当前项目是否安装了该包。

关于powershell - NuGet init.ps1 执行两次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14669518/

10-11 22:11
查看更多