我正在使用一个夜间锐化器构建,最近我刚刚遇到它,指出此消息"位置元素未使用:路径为空"给定以下 web.config 代码
<location path="">
<system.web>
<authorization>
<allow roles="Administrator" />
<deny users="*" />
</authorization>
</system.web>
</location>
我发现 resharper 的这个陈述是可疑的,因为我使用了这样的位置元素而没有问题。
空白路径是否只是默认为 "."
正如 MSDN 所说的是路径属性的默认值?
使<location path="">
和<location path=".">
功能等同?
path
的默认值仅在不覆盖它时才"."
;这<location>
在功能上等同于<location path=".">
- 但<location path="">
不同。空白路径虽然不应该被使用;如果它被使用,那很可能是 .NET 处理空路径方式中的错误。
这个错误肯定是Resharper过度热心的另一个例子。Microsoft建议在 ASP.NET 4 的重大更改中使用空白路径。
然而,根据MSDN,
使用缺少路径属性的位置将配置设置应用于当前目录和所有子目录。
因此,您可以省略 path 属性,这可以防止锐化器错误。