2017-06-27 132 views
2

我正在打算在軟件包管理器控制檯中運行的PowerShell腳本。我可以在包管理器控制檯中的$profile返回的位置添加腳本,但是我無法讓腳本在未打開Visual Studio的新實例的情況下接收更改。在軟件包管理器控制檯中刷新腳本

根據這一article,你應該能夠通過輸入& $profile重新加載腳本:

當您更改該用戶的個人資料,而Visual Studio是打開Visual Studio將檢測不到任何變化。您可以在軟件包管理器控制檯中鍵入& $配置文件以重新加載配置文件。

我可以用& $profile來驗證我的腳本沒有語法錯誤,但它不會加載更改到控制檯會話,這就需要我每次我做一個腳本變化的時間打開一個新的Visual Studio會話。

例如,如果我把我的個人資料腳本:

function foo{ 
    Write-Output "bar" 
} 

,然後打開Visual Studio和包管理器控制檯,我可以在提示符下鍵入「富」,回到「欄」。如果我將「function」更改爲「functionX」並運行& $profile,則控制檯中會出現ParserError。但是,如果我將腳本正文更改爲Write-Output "baz",然後在控制檯提示符下運行& $profile,然後輸入foo,我仍然會返回「bar」。代碼更改只能在Visual Studio的新實例中找到。

在Visual Studio中是否有更改此行爲的設置或強制加載新腳本的方法?

+0

我相信所有你需要做的是「點源」'$ profile'所以在範圍再次運行:'。 $ profile' – BenH

+0

這個伎倆!請添加爲答案,以便我可以接受。 –

回答

1

如果腳本執行時沒有點源,則該腳本中定義的變量,函數等不會添加到父範圍中。通過在命令前添加一個句點,將點出腳本的源代碼,並因此在該父範圍內添加內容。

在特定情況下,命令將是:

. $profile 
相關問題