Hello everyone,
I'm trying to create a practice application using .NET 9 and MAUI. However, I encounter an issue while implementing the barcode reading functionality.
Within this code:
cameraView.BarCodeOptions = new ZXing.Net.Maui.BarcodeDecodeOptions()
{
    TryHarder = true,
    PossibleFormats = { ZXing.BarcodeFormat.All_1D }
};
My problem lies in this line:
.BarcodeDecodeOptions()
I receive the following error: CS0234.
Here is the complete code:
using MauiApp1.DataAccess;
using MauiApp1.DTOs;
using MauiApp1.Models;
using MauiApp1.Utilidades;
using CommunityToolkit.Mvvm.Messaging;
using Microsoft.EntityFrameworkCore;
using ZXing.Net.Maui;
namespace MauiApp1.Views;
public partial class EscanearProductoPage : ContentPage
{
    private readonly VentaDbContext _context;
    public EscanearProductoPage(VentaDbContext context)
    {
        InitializeComponent();
        cameraView.BarCodeOptions = new ZXing.Net.Maui.BarcodeDecodeOptions()
        {
            TryHarder = true,
            PossibleFormats = { ZXing.BarcodeFormat.All_1D }
        };
        _context = context;
    }
    private void cameraView_CamerasLoaded(object sender, EventArgs e)
    {
        if (cameraView.Cameras.Count > 0)
        {
            cameraView.Camera = cameraView.Cameras.First();
            MainThread.BeginInvokeOnMainThread(new Action(async () =>
            {
                await cameraView.StopCameraAsync();
                await cameraView.StartCameraAsync();
            }));
        }
    }
    private async void cameraView_BarcodeDetected(object sender, Camera.MAUI.ZXingHelper.BarcodeEventArgs args)
    {
        MainThread.BeginInvokeOnMainThread(async () =>
        {
            string codigo = args.Result[0].Text;
            Producto dbProducto = await _context.Productos.Include(c => c.RefCategoria).FirstOrDefaultAsync(p => p.Codigo == codigo);
            ProductoDTO producto = new ProductoDTO()
            {
                IdProducto = dbProducto.IdProducto,
                Codigo = dbProducto.Codigo,
                Nombre = dbProducto.Nombre,
                Categoria = new CategoriaDTO()
                {
                    IdCategoria = dbProducto.IdCategoria,
                    Nombre = dbProducto.RefCategoria.Nombre
                },
                Cantidad = dbProducto.Cantidad,
                Precio = dbProducto.Precio
            };
            WeakReferenceMessenger.Default.Send(new ProductoVentaMessage(producto));
        });
        await Shell.Current.Navigation.PopModalAsync();
    }
}
In my MauiProgram.cs, I have the following code:
using Microsoft.Extensions.Logging;
using MauiApp1.DataAccess;
using MauiApp1.ViewModels;
using CommunityToolkit.Maui;
using MauiApp1.Views;
using Camera.MAUI;
using ZXing.Net.Maui.Controls;
using ZXing.Net.Maui;
namespace MauiApp1
{
    public static class MauiProgram
    {
        public static MauiApp CreateMauiApp()
        {
            var builder = MauiApp.CreateBuilder();
            builder
                .UseMauiApp<App>()
                .UseMauiCommunityToolkit()
                .UseMauiCameraView()
                .UseBarcodeReader()
                .ConfigureFonts(fonts =>
                {
                    fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
                    fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
                    fonts.AddFont("fa-solid-900.ttf", "FaSolid");
                });
            builder.Services.AddDbContext<VentaDbContext>();
            builder.Services.AddTransient<CategoriasPage>();
            builder.Services.AddTransient<CategoriasVM>();
            builder.Services.AddTransient<InventarioPage>();
            builder.Services.AddTransient<InventarioVM>();
            builder.Services.AddTransient<ProductoPage>();
            builder.Services.AddTransient<ProductoVM>();
            builder.Services.AddTransient<VentaPage>();
            builder.Services.AddTransient<VentaVM>();
            builder.Services.AddTransient<BuscarProductoPage>();
            builder.Services.AddTransient<BuscarProductoVM>();
            builder.Services.AddTransient<HistoriaVentaPage>();
            builder.Services.AddTransient<HistorialVentaVM>();
            builder.Services.AddTransient<MainPage>();
            builder.Services.AddTransient<MainVM>();
            var dbContext = new VentaDbContext();
            dbContext.Database.EnsureCreated();
            dbContext.Dispose();
#if DEBUG
            builder.Logging.AddDebug();
#endif
            return builder.Build();
        }
    }
}
In theEscanearProductoPage.XAML file, I have the following code at the top:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage
    x:Class="MauiApp1.Views.EscanearProductoPage"
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:cv="clr-namespace:Camera.MAUI;assembly=Camera.MAUI"
    xmlns:zxing="clr-namespace:ZXing.Net.Maui.Controls;assembly=ZXing.Net.MAUI.Controls"
    Title="EscanearProductoPage"
    BackgroundColor="{StaticResource bgLightGray}">
I would appreciate any guidance on what else I should check. I've reviewed a lot of documentation but haven't been able to resolve the error.
Thank you very much!