AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / coding / 问题 / 79470340
Accepted
GBM
GBM
Asked: 2025-02-27 00:01:35 +0800 CST2025-02-27 00:01:35 +0800 CST 2025-02-27 00:01:35 +0800 CST

.Net Maui App 条形图意外抛出 XLS0414 错误

  • 772

我正在开发 Maui 应用程序并想添加图表,因此我安装了 Syncfusion.Maui.Charts NuGet 包。问题是,在代码隐藏中,我在定义图表的框架中收到以下错误;

Severity    Code    Description Project File    Line    Suppression State
Error (active)  XFC0000 Cannot resolve type "clr-namespace:Syncfusion.Maui.Charts;assembly=Syncfusion.Maui.Charts:sfChart:BarSeries".   MauiApp1 (net8.0-android), MauiApp1 (net8.0-ios), MauiApp1 (net8.0-maccatalyst), MauiApp1 (net8.0-windows10.0.19041.0)  C:\Users\44751\source\repos\MauiApp1\MainPage.xaml  24  
Error   XLS0414 The type 'sfChart:BarSeries' was not found. Verify that you are not missing an assembly reference and that all referenced assemblies have been built.   MauiApp1    C:\Users\44751\source\repos\MauiApp1\MainPage.xaml  24  

我可以确认该包确实出现在解决方案资源管理器中的依赖项下,并尝试卸载/重新安装并删除 bin 和 object 文件夹并更改命名空间,但尽管一切看起来都很好,但似乎没有任何效果。我决定做基础工作,创建一个新的简单项目并安装 Syncfusion.Maui.Charts 包,但尽管我保持了它的简单性,但还是出现了同样的问题。以下是MainPage.xaml.cs;

using Syncfusion.Maui.Charts;
using Syncfusion.Maui.Core.Hosting;


namespace MauiApp1
{
    public partial class MainPage : ContentPage
    {
        public ObservableCollection<SalesData> SalesDataCollection { get; set; }

        public MainPage()
        {
            InitializeComponent();
            SalesDataCollection = new ObservableCollection<SalesData>
                {
                    new SalesData("Product A", 120),
                    new SalesData("Product B", 180),
                    new SalesData("Product C", 90),
                };

            BindingContext = this; // ✅ Set BindingContext
        }


    }

}

以下是MainPage.xaml;

<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:sfChart="clr-namespace:Syncfusion.Maui.Charts;assembly=Syncfusion.Maui.Charts"
             x:Class="MauiApp1.MainPage">

    <VerticalStackLayout Padding="20">

        <Label Text="Syncfusion Chart Test" 
               FontSize="24" 
               HorizontalOptions="Center" 
               VerticalOptions="Start" />

        <sfChart:SfCartesianChart HorizontalOptions="FillAndExpand"
                                  VerticalOptions="FillAndExpand">
            <sfChart:SfCartesianChart.XAxes>
                <sfChart:CategoryAxis Title="Products"/>
            </sfChart:SfCartesianChart.XAxes>

            <sfChart:SfCartesianChart.YAxes>
                <sfChart:NumericalAxis Title="Sales"/>
            </sfChart:SfCartesianChart.YAxes>

            <sfChart:SfCartesianChart.Series>
                <sfChart:BarSeries ItemsSource="{Binding SalesDataCollection}"
                                   XBindingPath="ProductName"
                                   YBindingPath="SalesAmount"
                                   ShowDataLabels="True"/>
            </sfChart:SfCartesianChart.Series>

        </sfChart:SfCartesianChart>
    </VerticalStackLayout>

</ContentPage>

错误发生在 .xaml 的第 24 行,即<sfChart:BarSeries ItemsSource="{Binding SalesDataCollection}“sfChart:BarSeries”部分中的“ ”。

MauiProgram.cs 文件如下所示;

using Microsoft.Extensions.Logging;
using Syncfusion.Maui.Core.Hosting;

namespace MauiApp1
{
    public static class MauiProgram
    {
        public static MauiApp CreateMauiApp()
        {
            var builder = MauiApp.CreateBuilder();
            builder
                .UseMauiApp<App>()
                .ConfigureSyncfusionCore()  // ✅ Ensure this line is added
                .ConfigureFonts(fonts =>
                {
                    fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
                    fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
                });
            //builder.ConfigureSyncfusionCore(); // ✅ Register Syncfusion

#if DEBUG
            builder.Logging.AddDebug();
#endif

            return builder.Build();
        }
    }
}

作为参考,MauiApp1.csproj 文件如下所示;

<Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>
        <TargetFrameworks>net8.0-android;net8.0-ios;net8.0-maccatalyst;</TargetFrameworks>
        <TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net8.0-windows10.0.19041.0</TargetFrameworks>
        <!-- Uncomment to also build the tizen app. You will need to install tizen by following this: https://github.com/Samsung/Tizen.NET -->
        <!-- <TargetFrameworks>$(TargetFrameworks);net8.0-tizen</TargetFrameworks> -->

        <!-- Note for MacCatalyst:
        The default runtime is maccatalyst-x64, except in Release config, in which case the default is maccatalyst-x64;maccatalyst-arm64.
        When specifying both architectures, use the plural <RuntimeIdentifiers> instead of the singular <RuntimeIdentifier>.
        The Mac App Store will NOT accept apps with ONLY maccatalyst-arm64 indicated;
        either BOTH runtimes must be indicated or ONLY macatalyst-x64. -->
        <!-- For example: <RuntimeIdentifiers>maccatalyst-x64;maccatalyst-arm64</RuntimeIdentifiers> -->

        <OutputType>Exe</OutputType>
        <RootNamespace>MauiApp1</RootNamespace>
        <UseMaui>true</UseMaui>
        <SingleProject>true</SingleProject>
        <ImplicitUsings>enable</ImplicitUsings>
        <Nullable>enable</Nullable>

        <!-- Display name -->
        <ApplicationTitle>MauiApp1</ApplicationTitle>

        <!-- App Identifier -->
        <ApplicationId>com.companyname.mauiapp1</ApplicationId>

        <!-- Versions -->
        <ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
        <ApplicationVersion>1</ApplicationVersion>

        <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">11.0</SupportedOSPlatformVersion>
        <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'maccatalyst'">13.1</SupportedOSPlatformVersion>
        <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">21.0</SupportedOSPlatformVersion>
        <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</SupportedOSPlatformVersion>
        <TargetPlatformMinVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</TargetPlatformMinVersion>
        <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'tizen'">6.5</SupportedOSPlatformVersion>
    </PropertyGroup>

    <ItemGroup>
        <!-- App Icon -->
        <MauiIcon Include="Resources\AppIcon\appicon.svg" ForegroundFile="Resources\AppIcon\appiconfg.svg" Color="#512BD4" />

        <!-- Splash Screen -->
        <MauiSplashScreen Include="Resources\Splash\splash.svg" Color="#512BD4" BaseSize="128,128" />

        <!-- Images -->
        <MauiImage Include="Resources\Images\*" />
        <MauiImage Update="Resources\Images\dotnet_bot.png" Resize="True" BaseSize="300,185" />

        <!-- Custom Fonts -->
        <MauiFont Include="Resources\Fonts\*" />

        <!-- Raw Assets (also remove the "Resources\Raw" prefix) -->
        <MauiAsset Include="Resources\Raw\**" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" />
    </ItemGroup>

    <ItemGroup>
        <PackageReference Include="Microsoft.Maui.Controls" Version="$(MauiVersion)" />
        <PackageReference Include="Microsoft.Maui.Controls.Compatibility" Version="$(MauiVersion)" />
        <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="8.0.0" />
        <PackageReference Include="Syncfusion.Maui.Charts" Version="28.2.7" />
    </ItemGroup>



</Project>

我完全搞不懂为什么会收到此错误。我已附上解决方案资源管理器中依赖项的屏幕截图,并可以确认包名称出现在每个 .net8.0 的“包”节点下; 依赖项截图

maui
  • 1 1 个回答
  • 43 Views

1 个回答

  • Voted
  1. Best Answer
    Liyun Zhang - MSFT
    2025-02-27T15:01:05+08:002025-02-27T15:01:05+08:00

    错误发生在 .xaml 的第 24 行,即 'sfChart:BarSeries' 部分上的“<sfChart:BarSeries ItemsSource="{Binding SalesDataCollection}"”。

    这是因为Syncfusion.Maui.ChartsBarSeries中没有类。如果你想使用 BarChart,你可以查看有关 BarChart 的官方示例。

    <chart:SfCartesianChart IsTransposed="True">
    
        <chart:SfCartesianChart.XAxes>
            <chart:CategoryAxis/>
        </chart:SfCartesianChart.XAxes>
    
        <chart:SfCartesianChart.YAxes>
            <chart:NumericalAxis/>
        </chart:SfCartesianChart.YAxes>   
    
        <chart:ColumnSeries ItemsSource="{Binding Data}"
                            XBindingPath="XValue"
                            YBindingPath="YValue"/>
    
    </chart:SfCartesianChart>
    

    此外,您还可以在官方文档中查看所有图表类型。

    • 1

相关问题

  • 在图像上获取圆角

  • 如何从MAUI控件中导出并设置样式?

  • 毛伊岛地图 - 如何从位置获取地址、城市和国家/地区名称?

  • .NET Maui CollectionView,如何仅在值存在时显示值

  • ScrollView 不适用于 android 上的 collectionView 中的 ItemTemplte

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    重新格式化数字,在固定位置插入分隔符

    • 6 个回答
  • Marko Smith

    为什么 C++20 概念会导致循环约束错误,而老式的 SFINAE 不会?

    • 2 个回答
  • Marko Smith

    VScode 自动卸载扩展的问题(Material 主题)

    • 2 个回答
  • Marko Smith

    Vue 3:创建时出错“预期标识符但发现‘导入’”[重复]

    • 1 个回答
  • Marko Smith

    具有指定基础类型但没有枚举器的“枚举类”的用途是什么?

    • 1 个回答
  • Marko Smith

    如何修复未手动导入的模块的 MODULE_NOT_FOUND 错误?

    • 6 个回答
  • Marko Smith

    `(表达式,左值) = 右值` 在 C 或 C++ 中是有效的赋值吗?为什么有些编译器会接受/拒绝它?

    • 3 个回答
  • Marko Smith

    在 C++ 中,一个不执行任何操作的空程序需要 204KB 的堆,但在 C 中则不需要

    • 1 个回答
  • Marko Smith

    PowerBI 目前与 BigQuery 不兼容:Simba 驱动程序与 Windows 更新有关

    • 2 个回答
  • Marko Smith

    AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String”

    • 1 个回答
  • Martin Hope
    Fantastic Mr Fox msvc std::vector 实现中仅不接受可复制类型 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant 使用 chrono 查找下一个工作日 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor 构造函数的成员初始化程序可以包含另一个成员的初始化吗? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský 为什么 C++20 概念会导致循环约束错误,而老式的 SFINAE 不会? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul C++20 是否进行了更改,允许从已知绑定数组“type(&)[N]”转换为未知绑定数组“type(&)[]”? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann 为什么 {2,3,10} 和 {x,3,10} (x=2) 的顺序不同? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller 在 5.2 版中,bash 条件语句中的 [[ .. ]] 中的分号现在是可选的吗? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench 为什么双破折号 (--) 会导致此 MariaDB 子句评估为 true? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng 为什么 `dict(id=1, **{'id': 2})` 有时会引发 `KeyError: 'id'` 而不是 TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String” 2024-03-20 03:12:31 +0800 CST

热门标签

python javascript c++ c# java typescript sql reactjs html

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve