c# - .NET 应用程序中找不到名为 "XX.dll"的后备文化 "en-US"的附属程序集错误

标签 c# .net winforms satellite-assembly

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

The satellite assembly named "XX.dll" for fallback culture "en-US" either could not be found or could not be loaded. This is generally a setup problem. Please consider reinstalling or repairing the application.

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

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

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

我需要更改什么才能禁用卫星程序集资源?

谢谢...

最佳答案

这是解决问题的方法,但要修复它,请将 UICulture 添加到项目文件中匹配的 PropertyGroupNeutralResourcesLanguageAssemblyInfo 文件中使用。然后,如果需要,您可以满足 FxCop 警告 CA1824。 例如在 AssemblyInfo 中:


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

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


    ...
    <PropertyGroup Condition="...">
        ...
        <UICulture>en-GB</UICulture>
        ...
    </PropertyGroup>
    ...

关于c# - .NET 应用程序中找不到名为 "XX.dll"的后备文化 "en-US"的附属程序集错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5079814/

相关文章:

c# - 在 json.net 中重命名 JProperty

c# - IIS - 线程池设置 machine.config 与 web.config

.net - ControlPaint.DrawReversibleFrame - 我应该如何删除绘制的矩形?

.net - SMS网关设备

c# - 创建辅助 x 轴

c# - 从数据库中选择性获取和删除帖子

c# - 如何防止 C# 中的继承者调用基本构造函数?

c# - 在 Winform 的 Devexpress 网格中选中取消选中复选框列

C# 向组合框添加长字符串

c# - OData 和自定义 WCF WebGet 方法