【问题标题】:SSDT Publish - Object Reference not setSSDT 发布 - 未设置对象引用
【发布时间】:2017-08-18 01:52:56
【问题描述】:

我正在尝试发布一个 SSDT 项目,但它抛出错误“对象引用未设置为对象的实例”没有其他消息,有没有办法解决这个问题。

【问题讨论】:

  • 如果更新到最新版本不起作用,请为此打开一个连接错误。这是一个空引用问题,如果启用日志记录,您可能会获得堆栈跟踪(请参阅the.agilesql.club/Blogs/Ed-Elliott/…)。
  • 嗨 Kevin,VSO 发布任务也失败了,后来我从生产中刷新了我的数据库,它得到了修复。目标数据库中的某些东西导致 VSO 和 Visual Studio 吓坏了。
  • 好的。如果您确实获得了调试日志并找到了堆栈跟踪,请发送至 kcunnane [at] microsoft [dot] com,我可以查看。值得尝试修复,因为一旦有了搜索区域,通常空检查很容易。

标签: azure-sql-database sql-server-data-tools sqlpackage


【解决方案1】:

我有同样的错误,这是因为构建配置。

SSDT 缺少当前的解决方案构建配置。 通过配置管理器将其添加到 SSDT 后,它再次工作。

【讨论】:

  • 这个问题和这个解决方案已经发生在我身上两次了——在我的例子中,Visual Studio 被另一个代码分支设置为不正确的解决方案配置值。
【解决方案2】:

我已经看到了“目标不可用”,从here 下载和安装最新的 SSDT 通常可以解决问题。确保您的项目目标是 SQL Azure 数据库,如 here 所述。

【讨论】:

    【解决方案3】:

    我昨天遇到了这个问题,今天早上通过反复试验发现了根本原因。

    对我来说,这是由 SSDT 尝试更新分区方案和功能引起的。它试图通过删除和重新创建分区方案和功能来做到这一点,但显然在使用它们时无法做到这一点。结果,它无法生成升级脚本,并出现上述非常无用的错误。

    如果您不需要更新分区(即如果您有其他东西管理它),您可以在高级发布设置中禁用检查:

    如上面的描述所示,这应该在运行比较时忽略对分区方案和功能的任何更改,但最初仍会部署它们。这解决了脚本生成期间的错误。

    如果您需要更新分区方案/功能,我建议您将其作为部署后脚本进行,以便您更好地控制正在执行的代码。

    【讨论】:

    • 这个解决方案对我的帮助不是 Azure DB,而是通常的 SQL Server 数据库
    【解决方案4】:

    右键单击数据库项目并选择 Publish.. 时出现此错误(尽管与 OP 不同,数据工具操作窗口中根本没有显示任何内容)

    我建立了项目,然后Publish... 又开始工作了:)

    使用 SQL Server Data Tools 15.1.61810.11040

    【讨论】:

      【解决方案5】:

      你有什么版本的 SSDT?

      此问题已在我们最近的 sprint 中得到修复,因此最新版本的 SSDT 应该会解除对您的阻止。

      https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt

      【讨论】:

        猜你喜欢
        • 2016-05-10
        • 1970-01-01
        • 1970-01-01
        • 2014-05-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-18
        相关资源
        最近更新 更多