SQL Server数据工具代码分析无法正常工作

SQL Server数据工具代码分析无法正常工作,sql,sql-server,database,visual-studio,sql-server-data-tools,Sql,Sql Server,Database,Visual Studio,Sql Server Data Tools,我有一个包含多个SSDT项目的Visual Studio 2013解决方案,最近我为它们启用了许多代码分析规则。此解决方案在我的机器上构建良好,没有警告,但我的一位同事在构建相同的解决方案时收到警告 我看了这些警告,它们是正确的。所有警告似乎都是某个过程在另一个项目中调用某个过程的情况。如果我将该过程与它调用的过程放在同一个项目中,我也会得到错误 例如:项目A和B。项目A有一个过程A1,它调用项目B中的过程B1。我没有收到任何警告,但我的同事收到了。如果我把程序A1放在项目B中,我也会得到一个警

我有一个包含多个SSDT项目的Visual Studio 2013解决方案,最近我为它们启用了许多代码分析规则。此解决方案在我的机器上构建良好,没有警告,但我的一位同事在构建相同的解决方案时收到警告

我看了这些警告,它们是正确的。所有警告似乎都是某个过程在另一个项目中调用某个过程的情况。如果我将该过程与它调用的过程放在同一个项目中,我也会得到错误

例如:项目A和B。项目A有一个过程A1,它调用项目B中的过程B1。我没有收到任何警告,但我的同事收到了。如果我把程序A1放在项目B中,我也会得到一个警告

我收到的警告示例如下:

警告18 SR0014:Microsoft.Rules.Data:从VarChar(100)强制转换为VarChar(50)时可能会发生数据丢失

是什么导致我的构建没有看到这些警告

我发现了更多的东西:

人员A运行SSDT版本12.0.30919.1 人员B运行SSDT版本12.0.30919.1 人员C运行SSDT版本12.0.40403.0

所有人都在visual studio 2013中通过SVN共享相同的数据库项目

当一个人编译数据库项目时,他会收到警告。比如
警告18 SR0014:Microsoft.Rules.Data:从VarChar(100)强制转换为VarChar(50)时可能会发生数据丢失。

当人员B编译数据库项目时,他不会对诸如可能丢失数据的强制转换之类的事情发出任何警告

当Person C编译数据库项目时,他也不会收到任何警告

我不确定这是否是版本号的问题,因为人员a和人员B具有相同的版本号。此外,发生了以下情况:

人员A从SSTD版本12.0.30919.1升级到SSDT 12.0.40403.0

现在,当一个人编译时,他不会得到任何警告,比如将VarChar(100)转换为VarChar(50)


可能问题不一定是版本问题,而是升级过程本身的问题。

您可能还没有在项目a中设置规则。@huMptyduMpty据我所知,这两个项目中的规则是相同的,我们的源代码管理找不到任何差异。你们运行的是同一版本的SSDT吗?在最新的三月份版本中对代码分析进行了更改。这将在“帮助->关于Microsoft Visual Studio”对话框中显示为SQL Server数据工具的12.0.40403.0版。如果在新版本中有一个bug没有检测到项目引用中的错误,请将其作为产品bug提出,并使用“开发人员工具(SSDT、BIDS等)”类别。我在产品团队工作,我们可以通过Connect进行最好的调查。@Kevincunne我可以确认从12.0.30919.1更新到12.0.40403.0会隐藏/不显示错误。有没有办法降级我的ssdt版本?@Kevincunne我已经添加了一个错误代码,并将错误错误放在这里:确保单击详细信息