使用nupack软件包管理器控制台将工作文件夹设置为解决方案文件夹

问题描述:

在Visual Studio中,nupack添加了一个名为软件包管理器控制台的Power-Shell窗口。我在想这将是一个运行源代码控制命令的好地方(我正在使用Mercurial)。但是,默认工作目录是我的用户文件夹,因此每次加载新项目时都需要导航到我的代码文件夹。使用nupack软件包管理器控制台将工作文件夹设置为解决方案文件夹

我想知道是否有单行命令将工作目录设置为解决方案文件夹。例如有这样的事情存在吗?

cd $SolutionFolder 

get-variable结果它好好尝试一下看起来像有立即可用什么,但我从未使用PowerShell的,所以也许有获得解决方案文件夹的方法是什么?

+0

很高兴看到“包管理器控制台”只是一个Power-Shell窗口;我不知道它使用的是什么语法,否则 – 2017-03-29 23:28:37

感谢道格指着我在正确的方向。我已经写了完整的说明在我的博客在这里:

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 

和工作文件夹将被改变。

尝试

$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

我不确定它何时更改,但当您打开应用程序时,程序包管理器控制台会自动将工作目录切换到当前解决方案文件夹。