如果文件中的元素涉及与源树中的文件夹不直接对应的 URL,ReSharper 7.1.1 代码检查会错误地将文件中<location>
的元素报告为冗余。web.config
如果您使用的是 ASP.NET MVC 或 Web API,则 URL 路径不直接对应于任何特定的物理文件夹是正常的。
如果您运行解决方案范围的检查,您会收到两个警告,我已经能够禁用其中一个,但我不知道如何禁用第二个。
第一个是“冗余位置元素”警告。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# 能够知道这些“隐藏”位置确实存在?)