2

当我构建解决方案文件时,世界上有多少人拥有SSDT来运行我的发布脚本?指定在构建中使用哪个发布脚本?

如果您:1。 )右键点击你的解决方案 2)点击Confugration属性 3)单击配置

我可以看到数据库项目,并在那里进行检查,对构建部署,它不让我指定要使用的发布脚本。有没有人有任何想法?

+0

您是否正在尝试使用发布配置文件?前/后部署脚本?希望确保我能理解,以便得到您需要的答案。 –

+0

对此进行排序的一种方法是在生成后事件命令行框中使用SqlPackage实用程序。不知道是否最好,但找不到别的。只是在博客上写道: http://tangodude.wordpress.com/2014/02/07/ssdt-publish-on-build-using-specific-profile/ – Jorge

回答

0

据我所知,这是不可能的。

为什么?他们是两个完全不同的东西。

建筑物(如果你认为它是代码)编译和检查,产生文物。对于.NET代码,这些工件是DLL的/ .exe等等。对于.sqlproj,它是在/ sql/[Build Configuration Name]中出现的.dacpac等。

发布类似于如果您正在谈论.NET代码部署。建筑不包括出版作为一项行动。

讽刺的是,有一个发布动作还建立了解决方案,所以我的建议,而不是去考虑下列之一:

  1. 发布项目(右键点击发布,或双击您选择的.publish .xml文件),只要你想建立。
  2. 使用Post-Build command line in the project Properties调用sqlpackage.exe来部署新与你指定的.publish.xml轮廓编译.dacpac - 但请注意,这将在Visual Studio中也影响你的发布行动用作发布建立然后发布(所以你最终会发布两次)。
  3. 根据你的舒适度/如果你是一个命令行的粉丝,然后使用命令行(bash文件?Powershell?)到call msbuild,然后是sqlpackage.exe。无论何时您想构建,请在cmd.exe中运行您的命令。
  4. 与#3,add a menu item to the Tools menu类似,它可以完成同样的事情(msbuild后接sqlpackage部署),但是在Visual Studio本身中。
  5. 查看一个持续集成模型(TFS/TeamCity/Bamboo/Jenkins和约3000个其他模型),可以在每次更改时自动为您构建和部署 - 在另一台服务器上或在本地运行(我将其放入了解你的情况,所以可能非常不适合解决你的问题)。
相关问题