Вот как я смог пройти через install.ps1 с помощью PowerShell ISE:
Чтобы выполнить пошаговое выполнение сценария установки с помощью PowerShell ISE, выполните следующие действия. Включите выполнение сборок, созданных с помощью .Net 4.
Либо
C:\Windows\System32\WindowsPowerShell\v1.0 или
C:\Windows\SysWOW64\WindowsPowerShell\v1.0
В зависимости от того, какую версию PS вы используете. Если файлов нет, создайте их.
Либо C:\Windows\System32\WindowsPowerShell\v1.0, либо C:\Windows\SysWOW64\WindowsPowerShell\v1.0
В зависимости от того, какую версию PS вы используете
Если файлов конфигурации нет, создайте их
powershell.exe.config:
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0.30319"/>
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>
powershell_ise.exe.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0.30319" />
</startup>
</configuration>
Чтобы иметь возможность запускать сценарии PowerShell, включенные в пакет NuGet, необходимо изменить политику выполнения:
Процесс Set-ExecutionPolicy RemoteSigned -Scope
Скопируйте install.ps1, который вы хотите отладить, и измените его содержимое следующим образом:
удалить блок параметров
param(
[Parameter(Mandatory=$true)] [string] $installPath,
[Parameter(Mandatory=$true)] [string] $toolsPath,
[Parameter(Mandatory=$true)] $package,
[Parameter(Mandatory=$true)] $project
)
импортировать модуль, который позволяет использовать командлеты nuget вне хост-процесса VS
Загрузите http://community.sharpdevelop.net/blogs/mattward/NuGet/NuGetOutsideVisualStudio.zip Извлеките содержимое папки bin в какое-либо место, а затем импортируйте PackageManagement.Cmdlets.dll
вот так:
import-module "C:\dev\NuGetOutsideVisualStudio\bin\PackageManagement.Cmdlets.dll"
теперь вы можете установить все параметры вручную следующим образом:
$toolsPath="C:\dev\demo-solution\packages\X1.Registration.DbUpdate.0.4\tools"
$installPath="C:\dev\demo-solution\packages\X1.Registration.DbUpdate.0.4"
set-project DemoSolution.Logic C:\dev\demo-solution\DemoSolution.sln
$project = Get-Project -name DemoSolution.Logic
Это по-прежнему оставляет объект $package неустановленным, но я обнаружил, что скрипт на самом деле не ссылается на этот параметр.
Ссылки: http://community.sharpdevelop.net/blogs/mattward/archive/2011/06/12/InstallingNuGetPackagesOutsideVisualStudio.aspx
person
ambidexterous
schedule
21.12.2011