代码之家  ›  专栏  ›  技术社区  ›  George Mauer

WinForms:存储在.resx文件中的值会发生什么变化?

  •  4
  • George Mauer  · 技术社区  · 17 年前

    存储在表单的resx文件中的名称/值对会发生什么变化?当我编译项目时,它们是否被编译成二进制文件?

    对于我的特定项目,我希望能够在不重新编译的情况下手动编辑其中一个值(app.config样式),有简单的方法吗?

    编辑: 有些人似乎没有理解我的问题。在执行WinForms时,如果InitializeComponents()中的设置依赖于表单的资源文件,只需将构建操作设置为始终复制,并将内容类型设置为内容,就会破坏表单。我相信有一个简单的解决方案,但之前没有使用过资源文件,我对它会是什么感到困惑。

    3 回复  |  直到 17 年前
        1
  •  4
  •   Franci Penov    17 年前

    如果将值放在.resx文件中,默认情况下,它们会被编译到您的程序集(或附属资源程序集)中。

    如果你想在运行时编辑值,你应该真正使用app.config或注册表。我个人更喜欢app.config文件。

    将值放入app.config文件的最简单方法是使用项目“属性”中的“设置”选项卡。

    如果您坚持将值保存在.resx文件中,我想您可以将该特定的.resx文件视为XML内容文件,并将其复制到输出目录。不过,我不确定有什么框架类可以帮助您解析此文件并使用其内容。您可能需要借助XmlDocument和您自己的XL解析来提取/修改值。

        2
  •  2
  •   nportelli    17 年前

    当然可以在任何文本编辑器中打开它,它只是xml。你可以告诉VS不要将它们嵌入到属性中。

        3
  •  0
  •   Cruiser    17 年前

    在Visual Studio中转到.resx文件的属性,并将“生成操作”设置为“内容”。这应该将其设置为不编译,您可以将.resx文件与网站一起复制,并随时对其进行修改。

    您可能想从项目中清除任何已编译的资源,我不确定ASP。NET将首先查找这些文件,因为它们已经编译过一次。

    编辑:刚刚看到你在引用WinForms,不确定。

    推荐文章