当访问我从WinForms应用程序调用时创建的程序集中的嵌入资源时,我遇到了一个奇怪的错误。
基本上我有一个程序集,其中包含Resources.resx
文件夹中的单个标准资源文件(Properties
)。程序集为Westwind.RazorHosting
,因此资源生成为Westwind.RazorHosting.Properties
。我仅使用生成的设计器类(Resources.Designer.cs
)从汇编代码中访问资源。
当我对项目进行测试时,测试项目一切都很顺利。错误(应用程序中使用的资源的主要来源)显示正确。
但是,当WinForms应用程序调用应用程序并导致错误时,资源访问将失败。错误是:
无法加载程序集(Westwind.RazorHosting.resources)或其依赖项之一。系统找不到指定的文件
请注意,它并未指向Westwind.RazorHosting.Properties.resources
,而是指向Westwind.RazorHosting.resources
。
当我使用调试器进入此代码时,我直接进入生成的Resources.designer.cs
类,ResourceManager
看起来非常好 - 有一个引用,它在内部指向正确的命名空间。我正在使用默认的en-US语言环境。我检查了生成的程序集,资源确实存在于正确/预期的资源ID下(即Westwind.RazorHosting.Properties.ResourceId
) - 它们存在。
有什么想法可能导致.NET在错误的地方查找资源吗?