5

我正在定制一个开源 .NET 应用程序。它编译得很好。但是表单和控件拒绝在设计器中显示,引发以下错误:

无法找到或无法加载后备区域性“en-US”的名为“XX.dll”的附属程序集。这通常是设置问题。请考虑重新安装或修复应用程序。

我知道这是一个多语言应用程序,但我想放弃其他语言并坚持通过表单设计器进行简单的字幕自定义。

此外,该问题会阻止将图像添加到控件。与以下行相同的异常发生:

((System.Drawing.Image)(resources.GetObject("ItemXXX.Glyth")));

为了禁用附属程序集资源,我需要更改什么?

谢谢...

4

3 回答 3

4

这是一种消除问题的方法,但要修复它,UICulturePropertyGroup在项目文件中的 s 中 添加与文件中NeutralResourcesLanguage使用的匹配的 s AssemblyInfo。然后,如果需要,您可以满足 FxCop 警告 CA1824。例如在AssemblyInfo


[assembly: NeutralResourcesLanguage("en-GB", UltimateResourceFallbackLocation.Satellite)]

在项目文件(例如 .csproj)中:


    ...
    <PropertyGroup Condition="...">
        ...
        <UICulture>en-GB</UICulture>
        ...
    </PropertyGroup>
    ...
于 2012-07-19T10:43:17.907 回答
2

找到了答案。

从 AssemblyInfo 中删除以下行解决了该问题:

[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
于 2011-02-22T16:02:55.250 回答
0

在尝试添加对项目的引用时,我只遇到过一次此错误。

我解决了它只是重新启动 Visual Studio。

于 2016-10-06T13:09:21.333 回答