.net 在Visual Studio 2017中临时禁用依赖项验证

.net 在Visual Studio 2017中临时禁用依赖项验证,.net,visual-studio,dependencies,visual-studio-2017,.net,Visual Studio,Dependencies,Visual Studio 2017,当我在解决方案中破坏不需要的依赖项时,我需要临时禁用验证,因为出于某种原因,依赖项验证在发现没有为特定项目声明依赖项时停止构建依赖项,这对我来说绝对是个谜。我希望在构建整个解决方案后进行验证,但事实并非如此 我尝试过的选项: 在我的主(唯一实际)层上设置构建操作属性 依赖项项目中的图表到None 从内置配置管理器中排除依赖项项目 从解决方案中排除依赖项项目(如果编译成功,则稍后再将其包括在内) 这一切都不管用,我快死了。如何修复它?您可以通过转到工具->选项->依赖项验证将其禁用。在那里,您可以

当我在解决方案中破坏不需要的依赖项时,我需要临时禁用验证,因为出于某种原因,依赖项验证在发现没有为特定项目声明依赖项时停止构建依赖项,这对我来说绝对是个谜。我希望在构建整个解决方案后进行验证,但事实并非如此

我尝试过的选项:

  • 在我的主(唯一实际)层上设置
    构建操作
    属性 依赖项项目中的图表到
    None
  • 从内置配置管理器中排除依赖项项目
  • 从解决方案中排除依赖项项目(如果编译成功,则稍后再将其包括在内)

  • 这一切都不管用,我快死了。如何修复它?

    您可以通过转到
    工具->选项->依赖项验证将其禁用。在那里,您可以通过查找所需语言将其设置为
    False



    如果您希望如何启用它,请转到并检查。

    VS2017中的依赖项验证现在使用Roslyn分析器执行,因此您可以使用规则集打开和关闭规则,并控制严重性,就像使用任何其他Roslyn分析器一样

    我希望在构建整个解决方案后进行验证 但事实并非如此

    这是VS2017之前的情况。以前,验证是使用一个单独的可执行文件执行的,该可执行文件在解决方案中的所有其他项目构建完成后运行

    切换到使用Roslyn分析仪意味着每个项目在构建时都经过验证。这还意味着,如果未编译项目(例如,因为MSBuild看到没有任何文件已更改),则不会调用分析器,因此不会报告任何错误

    要保证在IDE外部生成时看到所有错误,必须重新生成,即msbuild/t:rebuild 要在IDE中查看所有错误,请启用Roslyn完整解决方案分析选项


    中有更多关于VS2015和VS2017之间变化的详细信息。

    我想这是不一样的。它已经设置为
    false
    ,我仍然看到很多“属性'X'不应直接或间接引用'Foo',因为层'Bar'不依赖于层'Baz'”错误。您是否可以尝试在第二个选项中取消检查
    完整解决方案分析
    。未选中,我从未打开过它。这是一个例外情况,我将向开发人员社区报告:(谢谢,@Asif.Ali!你知道有没有办法告诉Visual Studio将DVxxxx错误报告为警告。这将部分帮助我解决这个问题。