我创建了一个新的VS解决方案,该解决方案需要包含来自另一个解决方案的文件的修改子集。两种解决方案都有一个默认的“Microsoft.Windows.Controls”命名空间。旧解决方案中的程序集名为“WPFToolkit”,新程序集名称为“DatePicker”。我复制到新解决方案中的一个文件是名为“ExceptionStringTable.txt”的嵌入式资源。内容如下所示,虽然我不知道它是什么格式:将文本转换为.resources文件
; DataGrid Selection Commands DataGrid_SelectAllCommandText=Select All DataGrid_SelectAllKey=Ctrl+A DataGrid_SelectAllKeyDisplayString=Ctrl+A
我设置了文件的“生成操作”为“嵌入的资源”像原来的解决方案。在运行时,它的加载这样的:
private static ResourceManager _resourceManager = new ResourceManager("ExceptionStringTable", typeof(SR).Assembly);
在执行
_resourceManager.GetString(id.String)我收到此运行时异常代码:
System.Resources.MissingManifestResourceException发生 消息=“找不到合适的任何资源确保\“ExceptionStringTable.resources \”在编译时被正确嵌入或链接到程序集\“DatePicker \”中,或者所有需要的附属程序集都是可加载且完全签名的。
编程上市程序集的资源名称,我得到这个:
DatePicker.g.resources Microsoft.Windows.Controls.Resources.ExceptionStringTable.txt Microsoft.Windows.Controls.Properties.Resources.resources
什么我必须做的,这样ExceptionStringTable.txt被转换成它的.resources等同然后嵌入到我的组件,使得URI“ ExceptionStringTable“找到它?