【问题标题】:The satellite assembly named "XX.dll" for fallback culture "en-US" could not be found error in .NET app在 .NET 应用程序中找不到名为“XX.dll”的备用区域性“en-US”的附属程序集错误
【发布时间】:2016-10-06 21:09:21
【问题描述】:

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

名为“XX.dll”的附属程序集 对于后备文化“en-US” 找不到或不能 加载。这通常是一个设置 问题。请考虑重新安装 或修复应用程序。

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

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

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

要禁用附属程序集资源,我需要进行哪些更改?

谢谢...

【问题讨论】:

    标签: c# .net winforms satellite-assembly


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

      找到了答案。

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

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

      【讨论】:

        【解决方案3】:

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

        我只需重新启动 Visual Studio 即可解决。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-01-16
          • 1970-01-01
          • 1970-01-01
          • 2018-09-01
          • 2012-10-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多