我正在尝试编写PowerShell脚本来部署需要我编写的特定DeploymentPlanExecutor扩展的DACPAC。该扩展实现了OnApplyDeploymentConfiguration和OnExecute的覆盖方法。
当我直接从Visual Studio 2017从数据库项目部署时,一切正常。但是,当我尝试使用SqlPackage.exe或使用API中的DacServices类部署使用扩展的DACPAC时,只有我的OnApplyDeploymentConfiguration扩展被称为。部署成功完成,无需调用OnExecute方法。
我安装了最新版本的SSDT,并且我从Visual Studio 2017目录下的安装中运行SqlPackage.exe。我的扩展安装在相同目录结构下的Extensions文件夹中。
我已经验证它是由OnApplyDeploymentConfiguration期间产生的输出消息以及附加调试器的断点加载的。我在OnExecute方法开头的断点永远不会被击中。