d21*_*219 4 sql-server database-project schema-compare visual-studio-2017
我一直在Visual Studio 2017中的数据库项目中运行架构比较,执行此操作时,我在``错误列表''选项卡中收到以下消息:
源模型填充期间捕获了意外的异常:对象引用未设置为实例对象。
我发现了这个博客,这似乎是相同的问题,但是尽管尝试了几次,但建议的解决方案(使用“选择目标模式”窗口删除条目)仍然没有用。
比较可以(并且确实)可以在Visual Studio 2013中与相同的项目和数据库一起正常工作,因此我可以解决这个问题,但是很高兴知道是什么引起了该问题(并将VS2013抛在了后面!)
我找到了解决方案;对于数据库项目,属性中有一个“目标平台”设置(请参见下文)。我将此设置为SQL Server 2017,现在比较可以正常工作。
所需的默认平台似乎取决于数据库的兼容性(请参阅https://docs.microsoft.com/zh-cn/sql/t-sql/statements/alter-database-transact-sql-compatibility-level);当我最初遇到此问题时需要2017年,但是需要选择重复发生(针对兼容级别为120的数据库)。
奇怪的是,我现在看到只需来回切换目标平台就可以解决问题,例如,我有一个数据库项目带有SQL 2014中不存在的SQL命令,我与目标2017进行了比较,但上述失败错误,使用2014目标运行,并且它出错(如您所料,因为它不了解较新的SQL函数),请切换回2017目标,现在比较可以正常工作!
| 归档时间: |
|
| 查看次数: |
668 次 |
| 最近记录: |