NuGet init.ps1执行两次

时间:2013-02-03 04:32:33

标签: powershell nuget

我正在按照“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" 

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

duplicate init execution

我正在使用VS 2012,NuGet 2.2.31210

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

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

谢谢, 乔

1 个答案:

答案 0 :(得分:2)

在init.ps1脚本中,Get-Project将在解决方案中返回一个随机项目,但不会返回已安装软件包的特定项目。

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