首页 文章

VS 2008不了解.resource文件

提问于
浏览
0

我正在尝试为我的C#应用程序添加全球化支持 . 根据MSDN,应该有一个用于中性文化的嵌入式资源文件和带有其他文化资源文件的附属DLL .

我已经创建了2个卫星DLL没有任何问题,并让我的应用程序使用ResourceManager自动加载正确的一个 . 但我无法将默认的中性文化资源文件嵌入到我的可执行文件中 . 当我删除所有卫星DLL或将文化设置为某些文化我没有附属的卫星DLL时,我得到例外“无法找到适合指定文化或中性文化的任何资源 . ”当应用程序尝试创建ResourceManager时 .

看起来VS 2008没有将我的.resource文件包含到主程序集中 . 我尝试了不同的方法来嵌入资源文件:通过resgen.exe从文本文件中编译它并将其添加到项目中;更改其名称以添加第二个.resources扩展名;创建具有相同名称的.resx文件;我仍然没有看到资源文件嵌入和使用资源文件的方式 - 我有相同的例外 .

在VS 2008中向应用程序添加默认中性文化资源文件的正确方法是什么?

2 回答

  • 0

    好吧,我已经通过一点'破解'解决了这个问题 .

    我已经使用resgen.exe编译了资源文件,如MSDN中所述,然后将其添加到项目中,将其重命名为“resources”并将构建操作从“None”更改为“Embedded resource” .

    看起来VS 2008增加了“ . ”作为资源文件名的前缀 . 因此,如果您将资源文件命名为“.resources”,它将无法工作,因为实际上VS会将其命名为“..resources” .

  • 1

    在.Net中,资源文件使用.resx扩展名 . 要在项目中“嵌入”它,请确保.resx文件的属性页中的“自定义工具”使用“ResXCodeGenerator”

    希望这可以帮助,

相关问题