使用.NET资源而不构建

问题描述

| 我有.resx文件的应用程序。 Resx文件是简单的XML,但是在构建资源后将其保存到程序集中。因此,要更改资源,我需要重建我的资源程序集。有没有办法直接使用来自resx文件的资源?     

解决方法

正如mdm提到的,但不是明确写的,没有编译或没有
ResourceManager.CreateFileBasedResourceManager
,就无法做到这一点。 资源在.resx部分中具有XML结构,但是该部分仅显示了编译器在哪里可以找到应包含的文件,并且仅存在于您的项目中,而不存在于构建之后。 资源文件被定义为嵌入式资源,意味着它嵌套在程序集中。任何更改都将导致需要新的编译。     ,如果使用
ResourceManager
类访问资源,则可以使用
resgen
.resx
文件编译为
.resources
文件。然后,您可以使用
ResourceManager.CreateFileBasedResourceManager
而不是
new ResourceManager(...)
创建
ResourceManager
类的新实例。这使您可以指定资源文件名和要在其中搜索的目录。 例如,看一下本教程中的方法B。