繁体   English   中英

有什么区别<usemauiessentials>和<usemaui>在 Android/iOS csproj 文件中? 我应该在我的 csproj 文件中同时使用两者吗?</usemaui></usemauiessentials>

[英]What is the difference between <UseMauiEssentials> and <UseMaui> in the Android/iOS csproj file? Should I use both in my csproj files?

我想在现有的 Android 和 iOS 项目中使用 .NET MAUI,但我不确定是否需要将其中一个添加到现有的 csproj 文件中。 目前,我在我的 Android 和 iOS 项目中使用 Xamarin.Essentials 和其他一些 Xamarin NuGet 包。

我的 Android csproj:

`

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net6.0-android</TargetFramework>
    <SupportedOSPlatformVersion>23</SupportedOSPlatformVersion>
    <OutputType>Exe</OutputType>
    <ApplicationId>com.companyname.AndroidprojectwithXamarin</ApplicationId>
    <ApplicationVersion>1</ApplicationVersion>
    <ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="MonoGame.Content.Builder.Task" Version="3.8.1.303" />
    <PackageReference Include="MonoGame.Framework.Android" Version="3.8.1.303" />
    <PackageReference Include="Xamarin.Essentials" Version="1.7.4" />
  </ItemGroup>
  <Target Name="RestoreDotnetTools" BeforeTargets="Restore">
    <Message Text="Restoring dotnet tools" Importance="High" />
    <Exec Command="dotnet tool restore" />
  </Target>
</Project>

`

我的 iOS csproj:`

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net6.0-ios</TargetFramework>
    <OutputType>Exe</OutputType>
    <SupportedOSPlatformVersion>15.0</SupportedOSPlatformVersion>
    <CodesignKey>iPhone Developer</CodesignKey>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <CreatePackage>false</CreatePackage>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <CreatePackage>false</CreatePackage>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="MonoGame.Content.Builder.Task" Version="3.8.1.303" />
    <PackageReference Include="MonoGame.Framework.iOS" Version="3.8.1.303" />
    <PackageReference Include="Xamarin.Essentials" Version="1.7.4" />
  </ItemGroup>
  <Target Name="RestoreDotnetTools" BeforeTargets="Restore">
    <Message Text="Restoring dotnet tools" Importance="High" />
    <Exec Command="dotnet tool restore" />
  </Target>
</Project>

`

Android/iOS csproj 文件中的 true 和 true 有什么区别? 我应该在我的 csproj 文件中同时使用两者吗? 是否有必要从我的项目中删除 Xamarin.Essentials NuGet package? 如果我想使用.NET MAUI,是否需要再添加.NET MAUI NuGet package? 或者我应该保留 Xamarin.Essentials NuGet package 安装吗?

正如您已经发现的那样,Xamarin.Essentials 是一个单独的项目。 Essentials 基本上是适用于不同平台(iOS、Android、Windows)但不一定有任何 UI 的各种 API 的抽象层。

由于 Xamarin.Forms 是一个 UI 框架,所有的 Essentials 都没有包含在 Forms 中。实际上,您可以将 Xamarin.Essentials 与传统的 Xamarin 应用程序一起使用,如果您愿意,它不依赖于 881059382.926

随着 .NET MAUI 的推出,Essentials 作为一种独立的概念消失了。 Essentials 现在是 .NET MAUI 的集成部分,它只是可供您使用的 API。

但是,这些 API 仍然不依赖于 .NET MAUI,您应该能够在不使用 .NET MAUI 的情况下使用 Essentials。 这就是我们得到这个问题的答案的地方:如果您只想使用以前称为 Essentials 的 API,请使用UseMauiEssentials ,或者,如果您无论如何都打算使用所有 .NET MAUI,只需包含UseMaui ,它也会带来在 Essentials 中自动。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM