如何在 SSDT 项目中跳过构建 DACPAC

Posted

技术标签:

【中文标题】如何在 SSDT 项目中跳过构建 DACPAC【英文标题】:How to skip building a DACPAC in an SSDT project 【发布时间】:2017-06-09 12:03:51 【问题描述】:

在我的解决方案中,我有一个 SSDT 项目。每次我构建我的解决方案时,都会有一行说明:

1>  Database -> <some\path>\Database\bin\Debug\Database.dacpac

显示出来,大约需要 20 秒才能完成。

如果我决定将来使用 DACPAC,我只会在数据库准备好发布时生成 DACPAC。

有什么方法可以继续构建 SSDT 项目,但不是每次构建项目时都生成 DACPAC,以减少构建时间?

【问题讨论】:

20 秒似乎很长。您的架构中有多少个对象? 【参考方案1】:

不,这是不可能的。构建 dacpac 文件是 SQL Server 数据库项目工作的一部分。请注意,生成 dacpac 文件的过程不会花费很长时间来执行。在内部,大部分时间都花在解析 T-SQL、解释对象声明、构建声明的数据库的模型表示、解析对象之间的引用和验证上。将模型序列化为 XML 并将其存储在 dacpac 文件中通常不需要 20 秒。我猜想在那段时间里发生了其他事情。

【讨论】:

【参考方案2】:

这听起来可能不是一个好的解决方案,但如果您对 Sql 项目和 dacpac 输出不感兴趣,例如,如果您进行了代码更改,您只想测试/调试它;

右键单击项目,然后单击“卸载项目”。

这不是一个真正的解决方案,但它可以为您节省 20 秒。

【讨论】:

以上是关于如何在 SSDT 项目中跳过构建 DACPAC的主要内容,如果未能解决你的问题,请参考以下文章

带有 dacpac 参考的 SSDT 未解析参考

如何在推送事件中跳过 GitHub Actions 作业?

如何在循环中跳过项目

如何在 PHP 的 for 循环中跳过迭代?

如何在 gitlab-ci build 中跳过前面的 maven 目标?

如何在 Maven 安装目标中跳过测试,同时在 Maven 测试目标中运行它们?