ResourceManager.GetString()方法从不同的程序集返回错误的字符串

pen*_*bot 16 c# resources resourcemanager

我有2个资源文件,一个是英文,另一个是外文.我打电话的时候

ResourceManager.GetString("Hello") 
Run Code Online (Sandbox Code Playgroud)

从.Designer.cs文件中,它总是返回英文翻译.我检查了我的语言环境和语言等,一切都是正确的.

它从我的主程序集中返回正确翻译的字符串,但是从加载的程序集中它始终返回英语.

pen*_*bot 12

这是发生了什么.我有一个包含多个翻译资源文件的程序集.这些都是嵌入式资源.

当我编译程序集时,它将默认的英语放在其.dll中.至于其他语言,它使用的语言创建文件夹,fr,da,de等.

我必须移动所有这些,如果我希望它们被我的主应用程序拾取,它正在加载所有这些其他程序集.想到我告诉大会他们都是嵌入式资源文件,它实际上会嵌入它们!

我现在有一个AssemblyLoader加载所有必需的.dll,当它无法从当前位置找到它们时,打包将决定我是否要包含所有语言或在构建项目之前选择我想要的语言.比我希望的工作更多,但最终解决了.

任何人都有任何问题,随时问.