.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错误报告为警告。这将部分帮助我解决这个问题。