我已经在这里遇到了这个错误: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”必须兼容。
据说 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) 尝试使用 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) 我已经能够打开默认地图应用程序并显示单个位置:
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)
想知道是否可以打开多个固定位置?
所以我有一个简单的应用程序,可以在 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) 我在将值绑定到ContentView
我所做的自定义时遇到问题。
我的MainPage
用途CustomFrameView
是ContentView
.
我的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) 使用 Visual Studio Community Edition 2022 构建 .Net MAUI 项目。
我尝试搜索官方文档,但没有找到答案。有人可以解释以下内容吗?
问题:
Background
和 和有什么区别BackgroundColor
?
如果(Background 或BackgroundColor
)都不存在,则该元素是否从其父元素继承背景颜色?
关于如何确定背景颜色的任何其他信息将受到赞赏。
如果官方文档中有回答上述问题的页面,请发布。
我似乎无法AsyncCommand
在 .NET MAUI 或 .NET MAUI Community Toolkit 中找到。知道我可以找到什么包/命名空间吗?
xamarin xamarin.forms xamarin-community-toolkit .net-maui maui-community-toolkit
现在,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)
谢谢
我试图隐藏桌面上图像中显示的后退按钮,但无论我尝试什么,它都会继续显示。
我努力了
<Shell.BackButtonBehavior>
<BackButtonBehavior IsVisible="False" IsEnabled="False" />
</Shell.BackButtonBehavior>
Run Code Online (Sandbox Code Playgroud)
我已经尝试遵循这篇文章为什么后退按钮隐藏在毛伊岛?
我的导航是这样完成的await Shell.Current.GoToAsync(new ShellNavigationState(location), false);
我错过了什么吗?
我有一个带有标签和开关的 .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"
有人可以解决这个错误吗?