Это может быть не совсем то, что вы ищете, но это может помочь вам обойти вашу проблему. после быстрого взгляда я думаю, что последовательность сценариев до и после развертывания может быть слишком сложной для изменения.
Насколько я понимаю, в проекте сборки есть несколько ловушек, которые позволят вам выполнить собственный код до начала развертывания.
- Определите свойство
PreDeployEvent
в вашем файле .dbproj.
- Определите цель
BeforeDeploy
в вашем файле .dbproj.
Я думаю, что любое из этих действий должно быть выполнено в нужный момент времени.
Если вы используете свойство PreDeployEvent
, вам нужно будет указать одну командную строку для выполнения. Грубый пример:
<PropertyGroup>
<PreDeployEvent>sqlcmd.exe -i myscript.sql</PreDeployEvent>
</PropertyGroup>
Если вы хотите больше контроля, используйте цель BeforeDeploy
, которая позволит вам запустить один или
больше пользовательских задач msbuild. Вот еще один грубый пример:
<Target Name="BeforeDeploy">
<Message Text="BeforeDeploy" Importance="high" />
</Target>
Между прочим, существует множество свободно доступных пользовательских задач, например, на www.msbuildextensionpack.com .