asp.net-mvc – 使用MVC和WebAPI避免使用Resharper web.config警告

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 使用MVC和WebAPI避免使用Resharper web.config警告前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
ReSharper 7.1.1代码检查错误地报告< location> web.config文件中的元素如果涉及到与源树中的文件夹不直接对应的URL,则是冗余的.如果您正在使用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#能够知道这些“隐藏”的位置确实存在?)

解决方法

我刚加入:
<!-- 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 -->

猜你在找的asp.Net相关文章