我正在按照“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文件,我的包只有一个条目。
为什么它会运行两次,有没有办法让它只运行一次?
谢谢, 乔
答案 0 :(得分:2)
在init.ps1脚本中,Get-Project将在解决方案中返回一个随机项目,但不会返回已安装软件包的特定项目。
使用$ projects = Get-Project -All获取解决方案中的项目列表,遍历项目并搜索packages.config以检查当前项目是否已安装软件包。