我有一個包含這在頂部有一個PowerShell腳本:VSTS發佈錯誤:參數無法找到匹配的參數名稱「服務器」
Param(
# [snip]
[string] [Parameter(Mandatory=$true)] $Server
)
在我VSTS版本的定義,我添加了一個Azure的PowerShell的任務調用腳本,傳入的參數爲:
-Server '$(ServerName)' [snip]
然而,當我觸發一個新的版本,在這個腳本的一步,我得到這個錯誤:
##[error]A parameter cannot be found that matches parameter name 'Server'.
我在日誌輸出中驗證了服務器名稱已正確傳遞。我甚至複製/粘貼記錄的命令,並修復路徑後,它在本地運行沒有問題。
爲什麼會發生這種情況,我該如何解決?
它_sounds_就像你的腳本/函數加載的早期定義。 – Matt
@Matt你能詳細說明一下嗎?如果是這樣的話,不應該意味着[改變參數名稱](// stackoverflow.com/a/39730146/2747593)不會影響任何東西嗎? –
是的,我知道。它的一系列時間錯誤我暗示我無法複製,因爲我沒有環境。這就像你製作的腳本v1,它沒有那個名字,然後你「發佈」它。接下來,您更新腳本以使其更好,但忽略「發佈」它。然後,測試會失敗,因爲您會認爲某個版本不存在。然後,最後,再次測試腳本的v3並「測試」順利進行「發佈」。這將會改變名稱的固定形式。建議相關不等於因果關係。 – Matt