Использование 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)
, но проект не будет строить и ошибки, которые эта переменная не была объявлена.
Эта статья (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. –
То, как я это делал, - это добавить мои свойства в профиль публикации, а затем обновить профиль публикации во время сборки. Поскольку профиль публикации - xml, это всего лишь случай замены внутреннего текста с использованием запроса xpath –
@ david-martin В настоящее время у меня есть некоторая жестко закодированная переменная '$ BuildVersion' в профиле публикации и Post-Deploy. . Вы утверждаете, что можете обновить профиль публикации xml с динамически генерируемым значением из свойства TFS/VS2013? или вы обновляете его со значением, которое вы вводите вручную или поднимаете со стола? Благодаря! –