【问题标题】:Prevent XML files ending with <culture> in name to be generated as a resource file防止将名称以 <culture> 结尾的 XML 文件生成为资源文件
【发布时间】:2014-09-04 09:18:21
【问题描述】:

每当我添加i18n.en.xml 或类似名称(只需以&lt;culture&gt;.xml 结尾)并编译我的项目时,该文件都会编译为en/&lt;Assembly&gt;.resources.dll,尽管我只是想简单地将其作为资源嵌入到单独的主要组件。

我已将它的 Build Action 设置为 Embedded Resource

如果我将它重命名为 en.i18n.xml(确保它仍然设置为 Embedded Resource),它会被正确嵌入而不会创建额外的程序集。正确的,我的意思是,它可以被assembly.GetManifestResourceNames()看到。

我该如何克服这个问题?在 VS 中似乎是硬编码的,如果文件是 XML 并且以与之关联的文化名称结尾,那么它将被创建为resources.dll

出于测试目的,我刚刚添加了test.xml 并将其设置为嵌入式资源 - 已正确嵌入。重命名为test.en.xml并重新编译,附加到en/*.resources.dll

【问题讨论】:

  • 没有*.resx。我手工制作了 XML 文件。

标签: c# .net xml visual-studio


【解决方案1】:

这是 VS 的默认行为(我猜)不能被覆盖。任何具有构建操作Embedded Resource 和名称掩码*.&lt;culture-code&gt;.* 的文件(不仅仅是XML)都将打包在卫星程序集中。我想你最好的选择是重命名文件。

【讨论】:

    猜你喜欢
    • 2021-09-08
    • 2013-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多