我正在使用其中一个夜间resharper版本,最近我发现它指出了这条消息"位置元素不可用:路径为空"给出以下web.config代码
<location path="">
<system.web>
<authorization>
<allow roles="Administrator" />
<deny users="*" />
</authorization>
</system.web>
</location>
我发现来自resharper的这句话是可疑的,因为我使用了像这样的位置元素而没有问题。
空白路径是否只是将其默认为"."
,因为MSDN表示路径属性的默认值?
使<location path="">
和<location path=".">
功能相同?
答案 0 :(得分:2)
path
的默认值仅在您不覆盖时才"."
;这一点,<location>
在功能上等同于<location path=".">
- 但<location path="">
是不同的。虽然空白路径不是假设被使用;如果它被使用,那很可能是一种错误.net处理空路径。
答案 1 :(得分:1)
这个错误肯定是Resharper过度热心的另一个例子。 Microsoft建议在breaking changes for ASP.NET 4中使用空白路径。
然而根据MSDN,
使用缺少路径属性的位置将配置设置应用于当前目录和所有子目录。
所以你可以省略path属性,这可以防止Resharper错误。