当我将一个文件构建为“嵌入式资源”时,Visual Studio会根据它在项目中的路径给它分配一个名称。例如,我的文件位于 cases/2013.1/colours.xml
,它会被分配一个带有间隔不规则下划线的资源名称,类似于 cases._2013._1.colours.xml
。
我的问题是 - 这个名称是如何确定的?这些规则是否有记录?Visual Studio使用的方法在哪里?
编辑:我之所以问,是因为我正在处理大量的这些东西,如果能够从文件路径推导出资源名称会很有帮助。
当我将一个文件构建为“嵌入式资源”时,Visual Studio会根据它在项目中的路径给它分配一个名称。例如,我的文件位于 cases/2013.1/colours.xml
,它会被分配一个带有间隔不规则下划线的资源名称,类似于 cases._2013._1.colours.xml
。
我的问题是 - 这个名称是如何确定的?这些规则是否有记录?Visual Studio使用的方法在哪里?
编辑:我之所以问,是因为我正在处理大量的这些东西,如果能够从文件路径推导出资源名称会很有帮助。
查看StronglyTypedResourceBuilder类的源代码,文档是准确的。
VerifyResourceName
,然后使用“.”将转义的部分重新连接在一起。 - Monroe Thomascases._013._.colours
),因此要么 VS 实现不正确,要么 resgen 文档对于您描述的特定情况不准确。cases/2013.1/colours.xml
1) 将“/”替换为“.”
cases.2013.1.colours.xml
2) 对于点分隔的字符串中的每个项目,如果该项目以数字开头,则在其前面添加下划线。
cases => cases
2013 => _2013
1 => _1
colours => colours
xml => xml
3) 重新组装字符串,用点号分隔。
cases._2013._1.colours.xml