数据库项目 - “无法解析来自名为 x 的源的外部元素的引用

问题描述 投票:0回答:3

我们有两个数据库项目,

x
x_audit
x
引用了
x_audit

x_audit
部署正常,但是当尝试部署
x
时,我们收到错误:

The reference to external elements from the source named x_audit.dbschema could not be resolved, because no such source is loaded
.

相同的文件在部署到 2005 数据库时可以正常工作,只有在部署到 2008 时才会出现此错误。如果有什么区别的话,那就是升级现有数据库而不是创建新数据库。它曾经在 2005 年和 2008 年都运行良好,不知道发生了什么变化。

谢谢

visual-studio-2010 database-project vsdbcmd
3个回答
22
投票

添加数据库引用时,选中“抑制由引用项目中未解析的引用引起的错误”复选框。

关于“外部元素”的模糊语言意味着 x_audit 也引用了某些东西。并且 x 没有引用某些东西,所以 x 不知道它。


11
投票

如果您有一个数据库“A”引用外部数据库 dacpac“B”,则需要在项目中包含“B”的所有必要引用,否则“A”将无法构建。或者,您可以将抑制未解析的引用设置为 True,编译器将忽略丢失的引用。

如果数据库之间存在循环引用,则必须抑制未解析的引用。

enter image description here


0
投票

我在 VisualStudio SQL 服务器数据库项目 XYZ 中添加了 msdb 数据库引用,但开发开始失败,并出现缺少 msdb.dacpac 错误。 XYZ 数据库/项目是从另外两个项目 XYZ_Ref1 和 XYZ_Ref2 引用的 - 它们没有 msdb 引用,因为在那里没有使用。 在 XYZ_Ref1 和 XYZ_Ref2 项目中添加 msdb 引用后,部署成功。 我选择采用这种解决方案而不是抑制未解决的引用,因为我不喜欢抑制错误/警告,因为这可能会隐藏一些其他潜在的问题。

© www.soinside.com 2019 - 2024. All rights reserved.