Skip to content

Instantly share code, notes, and snippets.

View mattleibow's full-sized avatar
🏠
Working from home

Matthew Leibowitz mattleibow

🏠
Working from home
View GitHub Profile
using System;
using System.Runtime.Versioning;
using CoreAnimation;
using Foundation;
using Microsoft.Maui.Handlers;
using SkiaSharp.Views.iOS;
using SkiaSharp.Views.Maui.Platform;
using UIKit;
namespace SkiaSharp.Views.Maui.Handlers
using Microsoft.Maui.Platform;
namespace MauiApp84;
public static class ImageLoading
{
#pragma warning disable CS1998 // Async method lacks 'await' operators and will run synchronously
public static async Task<Stream> LoadImageStreamAsync(string file, CancellationToken cancellationToken)
#pragma warning restore CS1998 // Async method lacks 'await' operators and will run synchronously
{
<Project>
<!--
=======================================================================
Microsoft.Build.Msix.Packaging.MsixBundle.targets
=======================================================================
This targets file can be imported at the bottom of the main app project file (.csproj):
<Import Project="Microsoft.Build.Msix.Packaging.MsixBundle.targets" />
{
"microsoft.net.sdk.android": "33.0.4/7.0.100",
"microsoft.net.sdk.ios": "16.0.1478/7.0.100",
"microsoft.net.sdk.maccatalyst": "15.4.2372/7.0.100",
"microsoft.net.sdk.macos": "12.3.2372/7.0.100",
"microsoft.net.sdk.maui": "7.0.49/7.0.100",
"microsoft.net.sdk.tvos": "16.0.1478/7.0.100",
"microsoft.net.workload.mono.toolchain.net6": "7.0.0/7.0.100",
"microsoft.net.workload.mono.toolchain.net7": "7.0.0/7.0.100",
"microsoft.net.workload.emscripten.net6": "7.0.0/7.0.100",
# Runn th2se 2 commands:
# 1. Generate FULL diff:
# git diff OLD_BRANCH NEW_BRANCH --output=complete.diff **\PublicAPI.*.txt
# 2. Generate REDUCE diff:
# .\eng\scripts\get-breaking-diff.ps1 -Source .\complete.diff -Out .\breaks.diff -Unique .\unique.diff
[CmdletBinding(PositionalBinding=$false)]
param ($Source, $Out, $Unique)
Set-StrictMode -version 2.0
@mattleibow
mattleibow / maui-net6-vs-net7-breaks.diff
Last active November 9, 2022 23:00
Comparing BREAKS in .NET MAUI on .NET 6 vs .NET 7
diff --git a/src/Controls/src/Core/PublicAPI/net-android/PublicAPI.Shipped.txt b/src/Controls/src/Core/PublicAPI/net-android/PublicAPI.Shipped.txt
-~Microsoft.Maui.Controls.TappedEventArgs.TappedEventArgs(object parameter) -> void
-Microsoft.Maui.Controls.TapGestureRecognizer.Tapped -> System.EventHandler
diff --git a/src/Controls/src/Core/PublicAPI/net-ios/PublicAPI.Shipped.txt b/src/Controls/src/Core/PublicAPI/net-ios/PublicAPI.Shipped.txt
-~Microsoft.Maui.Controls.TappedEventArgs.TappedEventArgs(object parameter) -> void
-Microsoft.Maui.Controls.TapGestureRecognizer.Tapped -> System.EventHandler
diff --git a/src/Controls/src/Core/PublicAPI/net-maccatalyst/PublicAPI.Shipped.txt b/src/Controls/src/Core/PublicAPI/net-maccatalyst/PublicAPI.Shipped.txt
-~Microsoft.Maui.Controls.TappedEventArgs.TappedEventArgs(object parameter) -> void
-Microsoft.Maui.Controls.TapGestureRecognizer.Tapped -> System.EventHandler
diff --git a/src/Controls/src/Core/PublicAPI/net-tizen/PublicAPI.Shipped.txt b/src/Controls/src/Core/Pu
@mattleibow
mattleibow / maui-net6-vs-net7.diff
Last active November 9, 2022 23:00
Comparing .NET MAUI on .NET 6 vs .NET 7
diff --git a/src/Controls/Maps/src/PublicAPI/net-android/PublicAPI.Shipped.txt b/src/Controls/Maps/src/PublicAPI/net-android/PublicAPI.Shipped.txt
new file mode 100644
index 000000000..3b0c31c72
--- /dev/null
+++ b/src/Controls/Maps/src/PublicAPI/net-android/PublicAPI.Shipped.txt
@@ -0,0 +1,132 @@
+#nullable enable
+Microsoft.Maui.Controls.Hosting.AppHostBuilderExtensions
+Microsoft.Maui.Controls.Maps.Circle
+Microsoft.Maui.Controls.Maps.Circle.Center.get -> Microsoft.Maui.Devices.Sensors.Location!
public MainPage()
{
InitializeComponent();
#if WINDOWS
// WindowLongFlags
const int GWL_STYLE = -16;
const int GWL_EXSTYLE = -20;
# EXAMPLE USAGE
#
# .\workloads.ps1 `
# -Workloads android,ios,macos,maccatalyst,tvos,maui `
# -RollbackUri https://aka.ms/dotnet/maui/preview.14.json `
# -Sources `
# https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-emsdk-ee0a97a0/nuget/v3/index.json,`
# https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-runtime-6dd808ff-1/nuget/v3/index.json,`
# https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6/nuget/v3/index.json

Path to Success

  1. Uninstall any .NET 6 workload previews using this script:
    https://github.com/Redth/dotnet-maui-check/blob/main/Clean-Old-DotNet6-Previews.ps1
  2. Uninstall any .NET 6 versions you can just to be safe
  3. Install .NET 6 RC 1
    I just use maui-check to install .NET, but not the workloads. Run and then when it asks to install .NET, go ahead and then when it asks to install workloads, just cancel.
  4. Install maui: dotnet workload maui
  5. Profit