架构比较 - 源模型的人口中捕获意外的异常:对象引用未设置为实例对象

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

我一直在运行在Visual Studio 2017年,在一个数据库中的项目比较的模式,当我这样做,我得到的错误列表选项卡中的以下信息:

源模型的人口中捕获意外的异常:对象引用未设置为实例对象。

我发现this blog,这似乎是同样的问题,但(除使用选择目标架构窗口中的条目)建议的解决方案还没有尝试,尽管它几次工作。

比较有(和做)很好地工作在Visual Studio 2013的同一项目和数据库,所以我有一个变通,但它会很高兴知道是什么原因造成的问题(并留下VS2013后面!)

sql-server visual-studio-2017 database-project schema-compare
1个回答
3
投票

我找到了解决这个;数据库的项目有一个“目标平台”的属性设置(见下文)。我设置为SQL服务器2017年和现在比较工作。

enter image description here

所需的默认平台似乎取决于数据库的兼容性(见https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-database-transact-sql-compatibility-level);而我需要2017当我最初遇到这个问题,复发(针对具有120兼容级别数据库)所需的SQL Server 2014被选择。

奇怪的是我现在已经看到,只是切换目标平台来回可以例如解决问题我有哪些不存在于SQL 2014的SQL命令的数据库项目,我跑了2017年的目标比较,并与上述错误失败,与2014目标跑,它的错误(如你所期望的,因为它不认识新的SQL函数),切换到2017年的目标和现在比较正常工作!

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