Спасибо, теперь все работает как положено $ psPath = Add-Type -Path "$ psPath \ lib \ Microsoft.SqlServer.Dac.dll вместо $ psPath = $ PSScriptRoot Add-Type -Path" $ psPath \ lib \ Microsoft.SqlServer.Dac.dll
аюсь развернуть несколько DACPAC в течение одного процесса сборки с помощью сценария PowerShell.
param(
[string]$publish_profile,
[string]$path_to_snapshots,
[string]$password
)
#Load Microsoft.SqlServer.Dac assembly
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.Dac")
#Load Dac profile
$dacProfile = [Microsoft.SqlServer.Dac.DacProfile]::Load($publish_profile)
$dacService = new-object Microsoft.SqlServer.Dac.DacServices($dacProfile.TargetConnectionString)
$files = Get-ChildItem "$path_to_snapshots\*.dacpac"
foreach ($file in $files)
{
$fileName = $file.Name
Try
{
$dp = [Microsoft.SqlServer.Dac.DacPackage]::Load($file.FullName)
$dacService.Deploy($dp, $database, $true)
}
}
Catch
{
Write-Host "$fileName deployment has been failed" -foregroundcolor "red"
throw $_.Exception;
Break
}
}
В моей локальной среде все работает отлично, но во время процесса сборки в службах команды Visual Studio я получаю сообщение об ошибке:
2017-02-24T06: 03: 09.7955300Z *********. Развертывание dacpac не выполнено
2017-02-24T06: 03: 09.9785258Z ## [ошибка] Исключение, вызывающее «Развертывание» с аргументом (ами) «3»: «Не удалось развернуть пакет».
В D: \ a \ 1 \ s ******************** \ deploydatabase.ps1: 104 char: 13
+ $ dacService.Deploy ($ dp, $ database, $ true)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: NotSpecified: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId: DacServicesException
2017-02-24T06: 03: 10.0085256Z ## [ошибка] Процесс завершен с кодом выхода 1, и в поток ошибок записано 1 ошибок.