我有一个SSDT项目已经工作了一段时间。最近,一位同事从项目中删除了用户定义的函数,并构建它以查找使用该函数的存储过程并修复这些存储过程。在解决了这些问题后,她对项目进行了简洁的构建,然后成功部署到我们的数据库中。
问题
几天后,我发现仍然存在使用我的同事没看到的旧功能的存储过程,因为 SSDT项目仍在没有警告或错误的情况下构建。
我在不同版本的SSDT(包括上周发布的16.4.1)和Visual Studio(2013 Update 4,2015 Update 3)的不同计算机上进行了验证,但它总是在没有警告的情况下构建。
我验证了:
Suppress Reference Warnings = False
Suppress TSql Warnings
设置为空Suppress TSql Warnings
设置为空并Build Action = Build
我认为SSDT的存在部分是为了防止这种事情发生。有人可以解释我为什么我的SSDT项目即使缺少参考也会构建?