无法连接类型工具包:MediaElement - 我错过了什么?
https://learn.microsoft.com/en-us/dotnet/communitytoolkit/maui/views/mediaelement
项目结构
主页.xaml
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
x:Class="MauiAppDelTest.MainPage">
<toolkit:MediaElement x:Name="mediaElement"/>
<ScrollView>
<VerticalStackLayout
Spacing="25"
Padding="30,0"
VerticalOptions="Center">
<Image
Source="dotnet_bot.png"
SemanticProperties.Description="Cute dot net bot waving hi to you!"
HeightRequest="200"
HorizontalOptions="Center" />
<Label
Text="Hello, World!"
SemanticProperties.HeadingLevel="Level1"
FontSize="32"
HorizontalOptions="Center" />
<Label
Text="Welcome to .NET Multi-platform App UI"
SemanticProperties.HeadingLevel="Level2"
SemanticProperties.Description="Welcome to dot net Multi platform App U I"
FontSize="18"
HorizontalOptions="Center" />
<Button
x:Name="CounterBtn"
Text="Click me"
SemanticProperties.Hint="Counts the number of times you click"
Clicked="OnCounterClicked"
HorizontalOptions="Center" />
</VerticalStackLayout>
</ScrollView>
</ContentPage>
Maui程序.cs
using CommunityToolkit.Maui;
using Microsoft.Extensions.Logging;
namespace MauiAppDelTest;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.UseMauiCommunityToolkit()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
});
#if DEBUG
builder.Logging.AddDebug();
#endif
return builder.Build();
}
}
错误很明显
Повторная сборка начата…
1>------ Перестроение всех файлов начато: проект: MauiAppDelTest, Конфигурация: Debug Any CPU ------
Восстановлен F:\Projects\MauiAppDelTest\MauiAppDelTest\MauiAppDelTest.csproj (за 307 мс).
1>F:\Projects\MauiAppDelTest\MauiAppDelTest\Microsoft.Maui.Controls.SourceGen\Microsoft.Maui.Controls.SourceGen.CodeBehindGenerator\MainPage.xaml.sg.cs(25,74,25,86): error CS0103: Имя "mediaElement" не существует в текущем контексте.
1>Сборка проекта "MauiAppDelTest.csproj" завершена с ошибкой.
1>F:\Projects\MauiAppDelTest\MauiAppDelTest\Microsoft.Maui.Controls.SourceGen\Microsoft.Maui.Controls.SourceGen.CodeBehindGenerator\MainPage.xaml.sg.cs(25,74,25,86): error CS0103: Имя "mediaElement" не существует в текущем контексте.
1>Сборка проекта "MauiAppDelTest.csproj" завершена с ошибкой.
1>F:\Projects\MauiAppDelTest\MauiAppDelTest\Microsoft.Maui.Controls.SourceGen\Microsoft.Maui.Controls.SourceGen.CodeBehindGenerator\MainPage.xaml.sg.cs(25,74,25,86): error CS0103: Имя "mediaElement" не существует в текущем контексте.
1>Сборка проекта "MauiAppDelTest.csproj" завершена с ошибкой.
1>F:\Projects\MauiAppDelTest\MauiAppDelTest\Microsoft.Maui.Controls.SourceGen\Microsoft.Maui.Controls.SourceGen.CodeBehindGenerator\MainPage.xaml.sg.cs(25,74,25,86): error CS0103: Имя "mediaElement" не существует в текущем контексте.
1>Сборка проекта "MauiAppDelTest.csproj" завершена с ошибкой.
========== Перестроить все: успешно — 0, неудачно — 1, пропущено — 0 ==========
========== Перестроить запущено в 12:02 PM, заняло 05,930 с ==========
删除 x:Name 并重建:
Повторная сборка начата…
1>------ Перестроение всех файлов начато: проект: MauiAppDelTest, Конфигурация: Debug Any CPU ------
Восстановлен F:\Projects\MauiAppDelTest\MauiAppDelTest\MauiAppDelTest.csproj (за 350 мс).
1>MainPage.xaml(7,6): XamlC error XFC0000: Cannot resolve type "http://schemas.microsoft.com/dotnet/2022/maui/toolkit:toolkit:MediaElement".
1>MainPage.xaml(7,6): XamlC error XFC0000: Cannot resolve type "http://schemas.microsoft.com/dotnet/2022/maui/toolkit:toolkit:MediaElement".
1>Сборка проекта "MauiAppDelTest.csproj" завершена с ошибкой.
1>MainPage.xaml(7,6): XamlC error XFC0000: Cannot resolve type "http://schemas.microsoft.com/dotnet/2022/maui/toolkit:toolkit:MediaElement".
1>Сборка проекта "MauiAppDelTest.csproj" завершена с ошибкой.
1>MainPage.xaml(7,6): XamlC error XFC0000: Cannot resolve type "http://schemas.microsoft.com/dotnet/2022/maui/toolkit:toolkit:MediaElement".
1>Сборка проекта "MauiAppDelTest.csproj" завершена с ошибкой.
========== Перестроить все: успешно — 0, неудачно — 1, пропущено — 0 ==========
========== Перестроить запущено в 12:18 PM, заняло 06,888 с ==========
.cproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net7.0-android;net7.0-ios;net7.0-maccatalyst</TargetFrameworks>
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net7.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);net7.0-tizen</TargetFrameworks> -->
<OutputType>Exe</OutputType>
<RootNamespace>MauiAppDelTest</RootNamespace>
<UseMaui>true</UseMaui>
<SingleProject>true</SingleProject>
<ImplicitUsings>enable</ImplicitUsings>
<!-- Display name -->
<ApplicationTitle>MauiAppDelTest</ApplicationTitle>
<!-- App Identifier -->
<ApplicationId>com.companyname.mauiappdeltest</ApplicationId>
<ApplicationIdGuid>78dc532d-cb6b-481e-99f8-1e8ead315bfe</ApplicationIdGuid>
<!-- 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.svg" BaseSize="168,208" />
<!-- 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="CommunityToolkit.Maui" Version="5.2.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="7.0.0" />
</ItemGroup>
该控件
MediaElement
未包含在主社区工具包中。安装 NuGet 包https://www.nuget.org/packages/CommunityToolkit.Maui.MediaElement