TFS vNext无法解析对名为“dbref.dacpac”的源的外部元素的引用,因为没有加载此类源

时间:2017-02-01 08:44:09

标签: visual-studio-2015 tfs build vnext

我目前正在尝试使用TFS 2017的vNext构建过程自动化我们的一个构建过程。

我有一个数据库解决方案,作为包含两个数据库db1和db2的系统的一部分。 db1引用db2但db2引用任何内容。

db1项目上的构建后步骤使用sqlpackage.exe将其与先前构建的版本进行比较并生成更改脚本。该命令如下所示:

"sqlpackage.exe" /a:script /sf:"d:\Builds\1\a\db1\db1.dacpac" /tf:"d:\Builds\1\s\\Databases\Current Live Versions\db1.dacpac" /op:"d:\Builds\1\s\\bin\Release\Sql\db1.sql" /tdn:db1

从Visual Studio构建时,这可以正常工作,但是TFS vNext会出现以下错误

EXEC(0,0): Error SQL0: The reference to external elements from the source named 'db2.dacpac' could not be resolved, because no such source is loaded.

我已将“抑制参考警告”设置为“True”,但这没有效果。

任何人都有任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

好的,我已经解决了..似乎引用文件的位置在dacpacs中使用绝对而不是相对路径,但是因为构建用户无法访问dacpac的“当前实时版本”版本的目录是由它构建的,给出了这个错误......

一旦我授予Build User访问此文件夹的权限,一切正常。