Използване на конзолата за управление на пакети nupack за задаване на работна папка на папка за решение

Във Visual Studio nupack добавя прозорец на power-shell, наречен Package Manager Console. Мисля, че това би било добро място за изпълнение на команди за контрол на източника (използвам Mercurial). Работната директория по подразбиране обаче е папката ми потребители, така че трябва да навигирам до папката с код всеки път, когато зареждам нов проект.

Чудя се дали има едноредова команда за задаване на работната директория на папката за решение. напр. нещо такова съществува ли

cd $SolutionFolder

От резултатите от get-variable не изглежда, че има нещо незабавно достъпно, но никога преди не съм използвал powershell, така че може би има начин да получа папката с решение?


person Mark Heath    schedule 25.10.2010    source източник
comment
Радвам се да открия, че Package Manager Console е просто прозорец на Power-Shell; Не знаех какъв вид синтаксис използва иначе   -  person The Red Pea    schedule 30.03.2017


Отговори (3)


Благодаря на Дъг, че ме насочи в правилната посока. Написах пълни инструкции в моя блог тук:

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

и работната папка ще бъде променена.

person Mark Heath    schedule 26.10.2010

Опитвам

$dte.Solution.FileName
person Doug Finke    schedule 25.10.2010
comment
благодаря, това ме движи в правилната посока. Вече мога да направя Split-Path -parent $dte.Solution.FileName, за да получа папката. Сега трябва да разбера как да настроя конзолата на мениджъра на пакети, за да има това налично в променлива или команда, без да се налага да въвеждам това всеки път - person Mark Heath; 26.10.2010
comment
Можете да намерите профила на PowerConsole в тази променлива $PowerConsoleUserProfile. Там можете да настроите функции и т.н., за да направите пряк път това, което трябва да направите. - person Doug Finke; 26.10.2010
comment
изглежда е $profile, но благодаря, сега успях да го накарам да работи. - person Mark Heath; 26.10.2010

Не съм сигурен кога се е променило, но конзолата на Package Manager автоматично премества работната директория в папката на текущото решение, когато отворите приложение сега.

person Jon Galloway    schedule 02.02.2011