gpt4 book ai didi

c# - MissingManifestResourceException 是什么意思以及如何修复它?

转载 作者:IT王子 更新时间:2023-10-29 03:31:56 25 4
gpt4 key购买 nike

情况:

  • 我有一个名为 RT.Servers 的类库,其中包含一些资源(byte[] 类型,但我认为这不重要)<
  • 同一个类库包含一个返回这些资源之一的方法
  • 我有一个简单的程序(引用了那个库),它只调用那个单一的方法

我收到一个包含以下消息的 MissingManifestResourceException:

Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "Servers.Resources.resources" was correctly embedded or linked into assembly "RT.Servers" at compile time, or that all the satellite assemblies required are loadable and fully signed.

我从来没有玩过文化,也没有玩过集会签名,所以我不知道这里发生了什么。此外,这适用于使用相同库的另一个项目。有什么想法吗?

最佳答案

解决此问题所需要做的就是在解决方案资源管理器中右键单击 Resources.resx 文件,然后单击运行自定义工具。这将重新生成自动生成的 Resources.Designer.cs 文件。

如果 .resx 文件是手动添加到项目中的,则该文件的自定义工具属性必须设置为“ResXFileCodeGenerator”。

问题是由于命名空间不匹配,如果您在项目设置中更改程序集的“默认命名空间”,就会出现这种情况。 (我将它从(以前)"Servers" 更改为(现在)"RT.Servers"。)

Resources.Designer.cs中自动生成的代码中,有如下代码:

internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Servers.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}

必须将文字字符串 "Servers.Resources" 更改为 "RT.Servers.Resources"。我手动执行此操作,但运行自定义工具同样可以很好地完成。

关于c# - MissingManifestResourceException 是什么意思以及如何修复它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1327692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com