2016-02-16 2 views
0

Использование Visual Studio 2013 с TFS и SQL Server 2012 & 2014 и SQLPackage.exe с профилем публикации.Как автоматически заполнить переменную SQLCMD с помощью сборки/сборки Версия

Кто-нибудь знает, если/как получить версию сборки или версию сборки в переменной SQLCMD?

Т.е. я пытаюсь получить любую информацию об управлении версиями на уровне системного уровня. TFS/Visual Studio имеет конструкцию SQL-проекта и вставляет ее в переменную SQLCMD, а затем вставляет ее в таблицу.

Я знаю, что я могу явным образом определить переменную SQLCMD, а затем вручную установить и увеличить его значение, но я хочу, чтобы любой номер версии сборки имел для проекта.

Я был в состоянии получить информацию о версии Assembly через MSBuild, как подробно описано здесь: https://social.msdn.microsoft.com/Forums/sqlserver/en-US/e0c93a55-d8bd-4a32-89d9-f46013fc1235/automatic-version-increment-on-datatier-applications?forum=ssdt

Но это за пределами моего post-deploy.sql сценария. Я пробовал просто ссылаться на переменную $(IntermediateTargetAssembly), но проект не будет строить и ошибки, которые эта переменная не была объявлена.

+0

Эта статья (http://sqlblog.com/blogs/jamie_thomson/archive/2010/10/19/maintaining-version-history-in-your-database-using-visual-studio-2010.aspx) очень близко к тому, что я хочу сделать, в частности детали вокруг '/ p: BuildVersion = " $ (BuildLabel) "', но он применяется к VS2010 и msbuild, а не к sqlpackage. –

+0

То, как я это делал, - это добавить мои свойства в профиль публикации, а затем обновить профиль публикации во время сборки. Поскольку профиль публикации - xml, это всего лишь случай замены внутреннего текста с использованием запроса xpath –

+0

@ david-martin В настоящее время у меня есть некоторая жестко закодированная переменная '$ BuildVersion' в профиле публикации и Post-Deploy. . Вы утверждаете, что можете обновить профиль публикации xml с динамически генерируемым значением из свойства TFS/VS2013? или вы обновляете его со значением, которое вы вводите вручную или поднимаете со стола? Благодаря! –

ответ

0

Я понимаю, что это другая установка развертывания, чем вы используете в настоящее время, но я думаю, вы обнаружите, что она может работать лучше в целом.

http://dotnetcatch.com/2016/02/10/deploying-a-database-project-with-msdeploy/

Вы можете установить версию сборки на упаковке MSDeploy с помощью свойства MSBuild вы нашли через MSDeploy Параметрирование для обновления SQL скрипт, который будет вставить или обновить версию источника в базе данных.

Смежные вопросы