我目前正在尝试使用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”,但这没有效果。
任何人都有任何想法如何解决这个问题?
答案 0 :(得分:1)
好的,我已经解决了..似乎引用文件的位置在dacpacs中使用绝对而不是相对路径,但是因为构建用户无法访问dacpac的“当前实时版本”版本的目录是由它构建的,给出了这个错误......
一旦我授予Build User访问此文件夹的权限,一切正常。