我一直在努力在任何地方找到一个很好的详细解释。所以我有一个项目(注定要部署到 SharePoint),其组织如下:
MyProject
12
TEMPLATE
CONTROLTEMPLATES
FEATURES
LAYOUTS
Images
MyImage.png
在某处的css文件中,我有以下行:
.myClass { background: url(/_Layouts/Images/MyImage.png); }
显然,整个 url 都是红色的,我有一个 ReSharper 错误说明:
Path C:\MySolutionFolder\MyProject\_Layouts\Images\MyImage.png not found
因此,我绝不希望 ReSharper 了解有关 SharePoint 的任何内容,我只想了解如何映射文件夹。
所以我去了项目的属性,并创建了一个新的映射:
用C:\MySolutionFolder\MyProject\12\TEMPLATE\LAYOUTS替换/ _layouts
这似乎没有任何作用,所以我试着玩弄,我发现唯一可以做的事情是:
用C:\MySolutionFolder\MyProject\12\TEMPLATE\LAYOUTS替换_Layouts
而不是以前的错误,我现在只有红色的 url 的 *_Layouts* 部分,以及一个新的 ReSharper 错误:
Symbol '_Layouts' doesn't exist in CSS 3.0
这对我来说没有多大意义,但这是我发现的唯一有任何影响的东西。请注意,在没有初始斜线的情况下放置此路径映射似乎是错误的,因为它会在路径中的任何位置替换单词“_layouts”,而它应该只在站点的根路径处替换。
而且,映射更改错误的事实似乎是区分大小写的,对于 url 路径映射,我不明白这一点(url 不区分大小写吗?)。
此外,使用 Ignore 而不是 Substitute 不会使错误消失。似乎唯一的方法是禁用错误,IMO 真的是一件坏事。
行为已在 6.1 和 7.0 上重现。
正如 12 所建议的那样,该项目是为 SP 2007 制作的,问题出在 VS 2010 上(我没有尝试过任何其他版本)。
如果路径映射不是我想的那样,有没有办法解决这个问题?例如插件?