如果您运行解决方案范围的检查,您会收到两个警告,我已经能够禁用其中一个警告,但是我无法解决如何禁用第二个警告.
第一个是“冗余位置元素”警告. ReSharper淡出整个位置部分.这里有一个例子,它会淡出的东西:
<location path="FederationMetadata"> <system.web> <authorization> <allow users="*" /> </authorization> </system.web> </location>
如果您通过ACS使用联合登录,并且想要为其提供元数据端点,则需要此配置.但是这个名字没有相应的路径.
(严格来说,这个特定与MVC或Web API无关,我给出了这个例子,因为它是一个常见的例子,但是我的项目还有几个< location>元素对应于通过MVC和Web API路由配置处理的路径,他们有同样的问题,根本原因似乎是一样的:ReSharper在项目中看不到与此位置相对应的任何内容,所以它错误地总结出来,它影响MVC和Web API控制器,由于诸如模块之类的任何可用路径.)
很容易摆脱这个第一个警告:您可以在检查严重性设置中关闭它.
然后,您将得到第二个警告:“位置元素未使用:在FederationMetadata处找不到项目项”(以及具有相应的< location>元素的每个控制器的类似警告).
当您检查整个解决方案时,此“检查结果”面板中将显示该检查结果.当您查看源文件本身时,都不会显示常见的检查小部件.而且奇怪的是,这似乎没有选择被禁用.
我知道你可以右键单击并选择“隐藏…”(虽然这似乎认为这是一个“冗余位置”问题,我已经在设置中禁用了),但据我所知,隐藏检查结果是本机的机器.我想配置团队共享点集,以便它不会在任何地方显示此警告.
我的目标是为所有用户提供清洁检查结果,而不会使每个用户隐藏结果. Resharper正在虚假地报告这个问题 – web.config很好,只是R#被误解了.有人知道我能如何让第二个警告消失? (或者更好的是,有没有办法让R#能够知道这些“隐藏”的位置确实存在?)
解决方法
<!-- ReSharper disable WebConfig.RedundantLocationTag --> <!-- ReSharper disable WebConfig.WebConfigPathWarning --> <location path="api"> <system.web> <authorization> <allow users="*" /> </authorization> </system.web> </location> <!-- ReSharper restore WebConfig.RedundantLocationTag --> <!-- ReSharper restore WebConfig.WebConfigPathWarning -->