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

如何在.NET MAUI项目中生成或添加resourcedesigner.cs文件?

MAUI迁移Xamarin斑马扫描功能:ResourceDesigner.cs问题解决办法

先搞定Xamarin Essentials的替代

MAUI已经把Xamarin Essentials的功能整合进去了,根本不用装Xamarin的NuGet包。你代码里用到Xamarin Essentials的地方,直接换成MAUI的对应API就行:

  • 原来的Xamarin.Essentials.Platform,改成Microsoft.Maui.ApplicationModel.Platform
  • 设备、权限这类功能,都在Microsoft.Maui.ApplicationModel命名空间下找对应的类

别手动加旧的ResourceDesigner.cs!

Xamarin项目里的这个文件是自动生成的,MAUI项目自己也会生成(在obj目录里,叫Resources.Designer.cs)。手动加旧文件只会带进来多余的依赖,反而出问题。要是需要自定义资源,直接把资源文件丢MAUI的Resources文件夹里,IDE会自动维护设计文件。

斑马扫描Intent逻辑迁移到MAUI的正确姿势

针对斑马扫描的Intent处理,直接在MAUI的Android项目里写:

  • 打开Platforms/Android/MainActivity.cs,重写OnNewIntent方法,处理扫描返回的数据
  • 用MAUI兼容的Android.Content.Intent来替代Xamarin里的调用,举个例子:
    protected override void OnNewIntent(Intent intent)
    {
        base.OnNewIntent(intent);
        if (intent.Action == "com.zebra.scanner.SCAN")
        {
            string scanData = intent.GetStringExtra("com.symbol.datawedge.data_string");
            // 把扫描结果传给UI层,比如用MessagingCenter或者弱事件
            MessagingCenter.Send(this, "ScanResult", scanData);
        }
    }
    

资源引用排查

要是迁移后找不到资源,检查下MAUI项目的csproj文件,确保资源的Build Action设置对了:

  • Android资源设为AndroidResource
  • 跨平台资源设为EmbeddedResource或者对应的MAUI资源类型

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 21:55:39