标签: .net-maui

错误 NETSDK1032:RuntimeIdentifier 平台“ios-arm64”和 PlatformTarget“x64”必须兼容

我已经在这里遇到了这个错误:Errors with dotnetpublish但我能够通过创建一个全新的解决方案来避开它。好吧,这不再是一个选择,因为我现在正在做一个真正的项目。

经过我在这些错误中度过的许多天,我能够编译一些项目并将它们分发到 iPhone 上。只是,在创建新解决方案的路径中的某个地方,对其进行了一些工作,突然发生了这个特定的错误,而且我不知道如何解决它。也许有人有洞察力。

该项目在远程 Mac 上的模拟器和 Windows 上作为 Windows 应用程序完美运行。

环境:
Windows 10 家庭版、21H2
VS 2022 版本 17.3.0 预览版 1.1

这是我到目前为止所做的:

dotnet publish -f:net6.0-ios -c:Release /bl:msbuild.binlog

这篇文章末尾的 XML 向我抛出了这个错误:

错误 NETSDK1032:RuntimeIdentifier 平台“ios-arm64”和 PlatformTarget“x64”必须兼容。

查看 binlog,我看到了这一点: 在此输入图像描述

虽然项目的配置显示了这一点: 在此输入图像描述

据说 PlatformTarget 设置为“x64”,但事实并非如此。至少不是根据项目设置。除非有别的地方可以配置。

它尝试将其更改为 ARM64,然后返回到任何 CPU,我尝试在 XML 中指定一个或所有 PropertyGroup,并尝试在命令行中指定它,如下所示:

dotnet publish -f:net6.0-ios -c:Release /p:Platform="Any CPU"
Run Code Online (Sandbox Code Playgroud)

我也变了

<PropertyGroup Condition="$(TargetFramework.Contains('-ios')) and '$(Configuration)' == 'Release'">
Run Code Online (Sandbox Code Playgroud)

<PropertyGroup Condition="$(TargetFramework.Contains('-ios'))>
Run Code Online (Sandbox Code Playgroud)

然后是这个:

dotnet publish -f:net6.0-ios -c:Debug /p:Platform="Any CPU"
Run Code Online (Sandbox Code Playgroud)

这些都没有任何效果。我缺少什么?

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

    <PropertyGroup>
        <TargetFrameworks>net6.0-android;net6.0-ios;net6.0-maccatalyst</TargetFrameworks>
        <TargetFrameworks …
Run Code Online (Sandbox Code Playgroud)

ios maui visual-studio-2022 .net-maui

5
推荐指数
1
解决办法
4822
查看次数

使用 MSIX 发布 .Net Maui 应用程序时未生成应用程序安装文件

尝试使用 MSIX 发布 .Net Maui 应用程序,但未生成“应用程序安装文件”(.appinstaller) 及其所有内容。我正在使用 Visual Studio 发布方法(包括 SideLoading),右键单击项目并按“发布”。

使用 Windows 10。我的应用程序的 TargetPlatformMinVersion:

<TargetPlatformMinVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</TargetPlatformMinVersion>
Run Code Online (Sandbox Code Playgroud)

以下是我遵循的步骤:

右键单击该项目并选择发布,然后以下图像来自向导。

在此输入图像描述

在此输入图像描述

在此输入图像描述

在此输入图像描述

结果:

在此输入图像描述

在最后一张幻灯片中,捆绑设置为“否”,所需的操作系统为空白,我不知道这是否是问题,但如果是问题,我该如何解决这个问题。

然后我按“复制并关闭”,但 C:\Dev\Installer 中没有生成安装程序文件和 MSIX 捆绑文件。它是空的,但应该有一个捆绑包和一个安装程序文件,我可以使用它们将更新推送到用户已安装的应用程序。

我的项目中生成的设置:

<GenerateAppInstallerFile>True</GenerateAppInstallerFile>
        <AppxPackageSigningEnabled>True</AppxPackageSigningEnabled>
        <PackageCertificateKeyFile>..._TemporaryKey.pfx</PackageCertificateKeyFile>
        <AppxPackageSigningTimestampDigestAlgorithm>SHA256</AppxPackageSigningTimestampDigestAlgorithm>
        <AppxAutoIncrementPackageRevision>True</AppxAutoIncrementPackageRevision>
        <AppxSymbolPackageEnabled>False</AppxSymbolPackageEnabled>
        <GenerateTestArtifacts>True</GenerateTestArtifacts>
        <AppInstallerUri>C:\Dev\Installer</AppInstallerUri>
        <HoursBetweenUpdateChecks>0</HoursBetweenUpdateChecks>
Run Code Online (Sandbox Code Playgroud)

visual-studio msix asp.net-blazor .net-maui

5
推荐指数
1
解决办法
1555
查看次数

如何使用 .NET MAUI 在地图上显示多个位置?

我已经能够打开默认地图应用程序并显示单个位置:

 var location = new Location(latitude, longitude);
 var options = new MapLaunchOptions { Name = locationName };

 try
 {
     await Map.Default.OpenAsync(location, options);
 }
 catch (Exception ex)
 {
     // No map application available to open
 }
Run Code Online (Sandbox Code Playgroud)

想知道是否可以打开多个固定位置?

.net-maui

5
推荐指数
1
解决办法
422
查看次数

.NET Maui 无法在 iOS 上运行应用程序

所以我有一个简单的应用程序,可以在 Android 模拟器和物理 Opel 手机上运行,​​但是当我部署到 iPhone 时,我遇到了一堆错误。对于初学者...

Could not resolve assembly Microsoft.VisualStudio.DesignTools.TapContract
Run Code Online (Sandbox Code Playgroud)

轻击手势肯定应该开箱即用吗?

这是完整列表:

2022-08-22 23:14:34.473 Xamarin.PreBuilt.iOS[94921:6409975] Could not resolve assembly Microsoft.VisualStudio.DesignTools.TapContract, Version=17.0.0.0, Culture=neutral, PublicKeyToken=null. Details: Could not load file or assembly '/var/mobile/Containers/Data/Application/6B3B6CF6-2A5A-452F-956D-74D8A66941EA/Documents/Lofty.Logbook.content/Microsoft.VisualStudio.DesignTools.TapContract.dll' or one of its dependencies.

2022-08-22 23:14:34.475 Xamarin.PreBuilt.iOS[94921:6409975] Could not resolve assembly Xamarin.HotReload.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null. Details: Could not load file or assembly '/var/mobile/Containers/Data/Application/6B3B6CF6-2A5A-452F-956D-74D8A66941EA/Documents/Lofty.Logbook.content/Xamarin.HotReload.Contracts.dll' or one of its dependencies.

Resolved pending breakpoint for 'Xamarin.HotReload.HotReloadAgent.BreakpointSendToIde(System.String)' to D:\a\_work\1\s\HotReload\Source\Xamarin.HotReload.Agent\HotReloadAgent.cs:419 [0x00000].
2022-08-22 23:14:34.617 Xamarin.PreBuilt.iOS[94921:6409975] Could not resolve assembly Xamarin.HotReload.Contracts, Version=1.0.0.0, Culture=neutral, …
Run Code Online (Sandbox Code Playgroud)

ios .net-maui

5
推荐指数
1
解决办法
3017
查看次数

绑定不适用于自定义 BindableProperty

我在将值绑定到ContentView我所做的自定义时遇到问题。

我的MainPage用途CustomFrameViewContentView.

我的CustomFrameView有一根绳子BindableProperty。当我手动输入字符串时,这可以正常工作,但当我尝试使用绑定时,这会失败。我确信绑定应该有效,因为它在Label.

任何人都知道为什么它不起作用?

主页.xaml

        <StackLayout> 
    <!-- DOES work -->
          <Label Text="{Binding Name}"/>
    <!-- DOES work-->
          <controls:CustomFrameView TestName="Test456"/>
    <!-- DOES NOT work-->
          <controls:CustomFrameView TestName="{Binding Name}"/>
        </StackLayout>
Run Code Online (Sandbox Code Playgroud)

MainPage.xaml.cs

        <StackLayout> 
    <!-- DOES work -->
          <Label Text="{Binding Name}"/>
    <!-- DOES work-->
          <controls:CustomFrameView TestName="Test456"/>
    <!-- DOES NOT work-->
          <controls:CustomFrameView TestName="{Binding Name}"/>
        </StackLayout>
Run Code Online (Sandbox Code Playgroud)

MainPageViewModel.cs

    public MainPage()
    {
        InitializeComponent();

        BindingContext = new MainPageViewModel();
    }
Run Code Online (Sandbox Code Playgroud)

CustomFrameView.xaml.cs

    public partial class MainPageViewModel : ObservableObject
    { …
Run Code Online (Sandbox Code Playgroud)

c# xaml mvvm maui .net-maui

5
推荐指数
1
解决办法
1520
查看次数

.net MAUI 背景 vs 背景颜色 - 有什么区别?

使用 Visual Studio Community Edition 2022 构建 .Net MAUI 项目。

我尝试搜索官方文档,但没有找到答案。有人可以解释以下内容吗?

问题:

  1. Background和 和有什么区别BackgroundColor

  2. 如果(Background 或BackgroundColor)都不存在,则该元素是否从其父元素继承背景颜色?

关于如何确定背景颜色的任何其他信息将受到赞赏。

如果官方文档中有回答上述问题的页面,请发布。

.net-maui

5
推荐指数
1
解决办法
4703
查看次数

.NET MAUI 中的 AsyncCommand

我似乎无法AsyncCommand在 .NET MAUI 或 .NET MAUI Community Toolkit 中找到。知道我可以找到什么包/命名空间吗?

xamarin xamarin.forms xamarin-community-toolkit .net-maui maui-community-toolkit

4
推荐指数
1
解决办法
5717
查看次数

为 MAUI 注册 MAUI Essentials 接口

现在,MAUI 为我们提供了所有 Essentials API 的接口,我正尝试在我的代码中使用它们,以使事情更具可测试性。

这段视频中,詹姆斯说我们应该将它们注册为:

builder.Services.AddSingleton<IGeolocation, GeolocationImplementation>();
Run Code Online (Sandbox Code Playgroud)

但现在实现类都是内部的,因此不能以这种方式注册。

现在在类上使用 Current 或 Default 属性的正确方法如下所示?

builder.Services.AddSingleton<IGeolocation>(ctx => Geolocation.Default);
builder.Services.AddSingleton<IConnectivity>(ctx => Connectivity.Current);
Run Code Online (Sandbox Code Playgroud)

谢谢

maui .net-maui

4
推荐指数
1
解决办法
589
查看次数

dotnet maui 如何隐藏桌面上的后退按钮?

我试图隐藏桌面上图像中显示的后退按钮,但无论我尝试什么,它都会继续显示。

我努力了

<Shell.BackButtonBehavior>
    <BackButtonBehavior IsVisible="False" IsEnabled="False" />
</Shell.BackButtonBehavior>
Run Code Online (Sandbox Code Playgroud)

我已经尝试遵循这篇文章为什么后退按钮隐藏在毛伊岛?

我的导航是这样完成的await Shell.Current.GoToAsync(new ShellNavigationState(location), false);

我错过了什么吗?

在此输入图像描述

maui .net-maui maui-windows

4
推荐指数
1
解决办法
9694
查看次数

插入“Label.Text”的 VisualState.Setters 属性时页面崩溃

我有一个带有标签和开关的 .NET MAUI xaml 页面。当我尝试使用VisualState-setters 更改打开/关闭时的标签文本值时,它可以与模拟器和手机调试器模式一起使用,但是当我将其下载到我的 Android 手机中时,尝试打开时页面崩溃!这是重现问题的代码部分:

    <HorizontalStackLayout Grid.Row="2" Grid.Column="0" Margin="5" Spacing="7" BackgroundColor="White" HeightRequest="50">
                                
                <!-- Automatic-Manual -->
                <VerticalStackLayout Margin="2" >
                    <Label x:Name="LblAutoMan" Text="Automatic" VerticalOptions="Start" HorizontalOptions="Center" HeightRequest="20" WidthRequest="65"/>
                    <Switch IsToggled="True" HorizontalOptions="Start" VerticalOptions="Center" HeightRequest="10">
                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup Name="CommonStates">
                                <VisualState Name="On">
                                    <VisualState.Setters>
                                        <Setter Property="ThumbColor" Value="Green" />
                                        <Setter TargetName="LblAutoMan" Property="Label.Text" Value="Automatic" /> 
                                    </VisualState.Setters>
                                </VisualState>
                                <VisualState Name="Off">
                                    <VisualState.Setters>
                                        <Setter Property="ThumbColor" Value="Red" />
                                        <Setter TargetName="LblAutoMan" Property="Label.Text" Value="Manual" /> 
                                    </VisualState.Setters>
                                </VisualState>
                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                    </Switch>
                </VerticalStackLayout>
               
            </HorizontalStackLayout>
Run Code Online (Sandbox Code Playgroud)

如果我评论两行:<Setter TargetName="LblAutoMan"

有人可以解决这个错误吗?

xaml visualstatemanager .net-maui

4
推荐指数
1
解决办法
527
查看次数