2010-10-25 138 views
6

在Visual Studio中,nupack添加了一個名爲軟件包管理器控制檯的Power-Shell窗口。我在想這將是一個運行源代碼控制命令的好地方(我正在使用Mercurial)。但是,默認工作目錄是我的用戶文件夾,因此每次加載新項目時都需要導航到我的代碼文件夾。使用nupack軟件包管理器控制檯將工作文件夾設置爲解決方案文件夾

我想知道是否有單行命令將工作目錄設置爲解決方案文件夾。例如有這樣的事情存在嗎?

cd $SolutionFolder 

get-variable結果它好好嘗試一下看起來像有立即可用什麼,但我從未使用PowerShell的,所以也許有獲得解決方案文件夾的方法是什麼?

+0

很高興看到「包管理器控制檯」只是一個Power-Shell窗口;我不知道它使用的是什麼語法,否則 – 2017-03-29 23:28:37

回答

4

感謝道格指着我在正確的方向。我已經寫了完整的說明在我的博客在這裏:

http://mark-dot-net.blogspot.com/2010/10/change-to-solution-folder-in-package.html

最基本的答案是,下面的命令將做到這一點:

Split-Path -parent $dte.Solution.FileName | cd 

爲了使它更容易獲得,你需要在您的「用戶配置文件」腳本文件中創建一個函數,其位置在$profile變量中找到。如果文件不存在,您將需要創建該文件。然後添加一個功能:

Function solutionFolder() 
{ 
    Split-Path -parent $dte.Solution.FileName | cd 
} 

現在,加載在VS2010的解決方案後,你可以簡單地輸入:

solutionFolder 

和工作文件夾將被改變。

2

嘗試

$dte.Solution.FileName 
+1

謝謝,這讓我朝着正確的方向前進。我現在可以執行'Split-Path -parent $ dte.Solution.FileName'來獲取文件夾。現在我需要了解如何設置程序包管理器控制檯,使其在變量或命令中可用,而無需每次輸入該信息 – 2010-10-25 20:32:08

+0

您可以在此變量$ PowerConsoleUserProfile中找到PowerConsole配置文件。在那裏你可以設置功能等來快捷你需要做的事情。 – 2010-10-25 21:34:21

+0

它似乎是$配置文件,但謝謝我設法讓它現在工作。 – 2010-10-25 22:07:34

1

我不確定它何時更改,但當您打開應用程序時,程序包管理器控制檯會自動將工作目錄切換到當前解決方案文件夾。

相關問題