2013-04-08 83 views
3

我们正在尝试设置我们的数据库项目的自动部署并需要一些帮助。VS2012自动化数据库部署问题 - .dacpac不存在?

我们使用VS2012,TFS 2012和SQL Server 2008 R2。 我们有一个包含所有项目的解决方案文件。 我们希望能够按设定的时间间隔建立和部署数据库项目 - 比如每晚说。

我所创建的发布配置它的工作原理,但是当我安排构建定义我得到这个错误:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets (1255): File "C:\Builds\1\projectName\Deploy Database\output\Binaries\Storage.SqlServer.dacpac" does not exist.

构建机器和部署服务器的所有设置正确,据我可以告诉。

我该如何解决这个问题?我们没有可以看到的.dacpac文件。

+0

您确定您的数据库项目建设了吗?它是否建立了创建一个dacpac?它是否在本地构建一个? – 2013-05-03 15:19:48

回答

0

“我们没有可以看到的.dacpac文件。” 在猜测这将是为什么它与“文件”C:\ Builds \ 1 \ projectName \ Deploy Database \ output \ Binaries \ Storage.SqlServer.dacpac“不存在。”的原因。

想必你需要更早的任务(一个或多个),其中(例如) 一)会从源头控制, B)数据库中定义创建基于定义的数据库,然后 C)可以自动执行通过sqlpackage.exe创建.dacpac(例如:here's a blog walkthough

0

检查构建日志和构建服务器上的输出目录(例如\ project \ bin \ Debug或\ project \ bin \ Release)以查看项目实际上正在建造中。如果未构建,请检查解决方案的配置属性以确保为您的数据库项目检查了构建标志。

如果正在构建但未被输出,那么如果没有对数据库项目的直接引用或依赖关系,就会发生这种情况。检查解决方案的项目依赖性并确保为数据库项目检查取决于标志。

如果正在按照预期构建数据库项目,但仍未部署数据库项目,那么解决方案的“配置属性”中也可能会解决此问题。

0

我今天刚碰到这个。我通过添加构建解决方案的构建任务来解决此问题。这在我的dacpac文件中生成了部署命令查找它的bin文件夹。