Winform 图像 (ResourceManager) 在 Windows 10 上不可见

Winform images (ResourceManager) not visible on Windows 10

我有一个 Windows 表单应用程序,在 Windows 7 上运行良好,但在 Windows 10 上打开时,图像文件使用 ResourceManager[=20= 】 不要出现。应用程序正在使用 .Net 3.5 框架。以下是一些代码:

static readonly System.Resources.ResourceManager rm = new System.Resources.ResourceManager("ImageResources", Assembly.GetExecutingAssembly());

rm.GetObject("ImageName");

错误如下:

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

是由于某种不兼容还是 Windows 10 以某种方式限制 ResourceManager class 使用所有这些图像?

尝试在目标机器上检查 Environment.Version 的值(例如一些 MessageBox)。 如果你得到 4.0,那么你需要按照 Dr. Stich 的建议更改配置文件。 如果您没有配置文件,请按照此处所述创建它: How to: Add an Application Configuration File to a C# Project

并将其内容更改为如下内容:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
  <supportedRuntime version="v2.0.50727" />
</startup>
</configuration>

你可以在supportedRuntime Element page

上获取运行时版本

这个问题最终通过在 rm.GetObject 方法参数中添加 CultureInfo.CurrentCulture 得到解决,即

rm.GetObject("ImageName", CultureInfo.CurrentCulture);