You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NetStandard 2.0类库Resx文件未部署:UWP异常Android正常求解决

解决方案:UWP中无法加载.NetStandard类库的非默认语言resx资源

我来帮你排查这个UWP特有的资源加载问题,结合.NetStandard类库的特性,给你几个针对性的解决方向:

  • 检查资源访问代码的命名空间正确性
    UWP对嵌入式资源的路径识别很严格,确保你用ResourceManager实例化时的命名空间和resx文件的完整命名空间完全一致。比如你的类库命名空间是MySharedResources,resx文件在根目录,那代码应该是:

    var resourceManager = new ResourceManager("MySharedResources.MobileDictionary", typeof(SomeClassInLibrary).Assembly);
    var localizedValue = resourceManager.GetString("YourResourceKey", targetCulture);
    

    很多时候问题就出在命名空间写错,导致只能找到默认的en资源。

  • 确认UWP项目的语言声明
    打开UWP项目的Package.appxmanifest,到「应用程序」标签页:

    1. 检查「默认语言」是否和你的预期一致;
    2. 务必把需要加载的语言添加到「语言」列表里——UWP只会加载manifest中声明过的语言资源,哪怕类库里有对应的resx文件,没声明的话也会被忽略。
  • 核对resx文件的生成配置与命名规范
    虽然你调整了复制属性,但还要检查所有MobileDictionary的附属资源文件(比如MobileDictionary.zh-CN.resx):

    1. 确保它们的生成操作都是Embedded Resource;
    2. 命名必须严格遵循[基文件名].[语言代码].resx的格式,不能用下划线或者其他分隔符;
    3. 右键类库项目→编辑.csproj文件,确认附属resx文件的节点有<DependentUpon>关联基文件,比如:
      <EmbeddedResource Include="MobileDictionary.zh-CN.resx">
        <DependentUpon>MobileDictionary.resx</DependentUpon>
      </EmbeddedResource>
      
      这个关联能让资源管理器正确识别它们是基资源的本地化版本。
  • 清理重建解决缓存问题
    UWP的资源缓存偶尔会导致旧资源残留,建议:

    1. 删除类库和UWP项目的bin、obj文件夹;
    2. 先重新生成类库,再生成UWP项目,确保所有资源都被正确嵌入和部署。
  • 极端情况:手动加载资源流
    如果以上方法都没用,可以尝试直接从程序集读取资源流:

    var libraryAssembly = typeof(SomeClassInLibrary).Assembly;
    var resourcePath = $"MySharedResources.MobileDictionary.{targetCulture.Name}.resx";
    using (var stream = libraryAssembly.GetManifestResourceStream(resourcePath))
    {
        if (stream != null)
        {
            var reader = new ResXResourceReader(stream);
            var resourceDict = reader.Cast<DictionaryEntry>()
                                    .ToDictionary(x => x.Key.ToString(), x => x.Value);
            // 从resourceDict中获取对应值
        }
    }
    

内容的提问来源于stack exchange,提问作者MelloPs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:02:15