我注意到MSBuild会在生成资源名称时转义以数字开头的文件夹
e.g。
... \ 2012.01.01 \ site.css成为资源名称中的... _ 2012._01._01.site.css
MSBuild用于确定资源名称的规则是否有任何文档?
我是否可以通过方法/ API调用来转义名称?
它破坏了我的VirtualPathProvider,因为我的字典中的键与检索时的路径不匹配。
显然有一个hacky修复此问题,但我更喜欢更强大的东西。
有问题的代码是第三方,所以我不想使用此处详述的LogicalName方法LogicalName Approach
答案 0 :(得分:0)
资源名称与.NET类一样是命名空间。当site.css
变为资源时,它自然会变为...2012.01.01.site.css
,但这不是有效的资源名称,因为名称空间名称不能以数字开头。因此编译器会在每个命名空间组件之前添加下划线。如果您的文件名为100site.css
,则可能会在文件名上看到相同的内容。
C# language specification是标识符规则的一个很好的资源,但我认为你不会发现个人工具行为在网络上有很好的记录。