以下是我的数据库项目中的确切场景,我正在创建dacpac,以便在目标SQL实例上部署数据库:
-当我试图在我的环境中运行sqlpackage.exe来部署dacpac (在TFS构建过程中生成)时,我收到了一个错误消息:
*没有提供供参考的文件XXXX.dll;部署可能失败。创建C:\BUILDS\1\XXXX\XXXX\SRC\XXXXXXXX\ASSEMBLIES\XXXX.XXXX.XXXX.dll时,原始引用的文件位于C:\Temp\Dacpac_testing\XXX.XXXXX.XXXX.dacpac
如何创建dacpac来引用部署环境中CLR程序集的路径(而不是构建dacpac时使用的路径)
在这方面的任何帮助将是非常感谢的。
发布于 2015-06-17 09:44:08
对不起,我现在只注意到这条线,但我也有类似的问题。打开Server项目中的引用,转到要引用的dll,右键单击并选择属性。
更改以下设置:生成Sql脚本:真正的模型感知:真
根据clr代码的要求选择相关权限集。
发布于 2016-09-23 20:35:09
我能够通过在部署dacpac的机器上包含由SSDT项目构建的bin/output文件夹中的所有文件来解决这个问题。此文件夹包括所有引用的DLL和DAPAC。我还在构建输出中包含了publish.xml文件和一些示例SQLPackage cmd文件,以便于部署。
我在论坛上从Richard的帖子中找到了答案。https://social.msdn.microsoft.com/Forums/sqlserver/en-US/aba60b70-396f-4624-890c-015c1f2d68f7/dacpac-dependencies-for-sqlpackageexe?forum=ssdt
我不知道这是否有帮助,但我在编译的DACPAC和提取的DACPAC之间运行SqlPackage /Action:Script时遇到了问题,并得到了类似的错误(添加引用时发生了错误)。我通过从我的DACPAC的\bin\debug目录复制所有的DACPACS来解析它(它大约有对15个其他数据库项目的引用,另外还有master和msdb)。在那之后,它起了作用。因此,在查找引用时,它将首先检查目录(我不知道它是专门查看当前目录还是根DACPAC所在的目录,因为它们是同一个目录)。
https://stackoverflow.com/questions/30299897
复制相似问题