Categories
.NET .NET 8 .NET 9 .NET MAUI Android Blazor C# Desktop Developer General Getting Started Hybrid iOS macOS Migration Mobile Visual Studio VS Code Web Windows Xamarin Xamarin.Forms

Visual Studio for Mac Retirement – Visual Studio Code Setup

In February, an article was published discussing the use of VS Code as a tool for developing .NET MAUI apps, following the announcement of the retirement of Visual Studio for Mac.

The support for Visual Studio for Mac will be discontinued by the end of this month.

Categories
.NET .NET 8 .NET 9 .NET MAUI Android Blazor C# Desktop Developer F# General Getting Started Hybrid iOS macOS Mobile NuGet Preview Visual Studio Web What's New Windows Xamarin Xamarin.Forms

SLNX – XML-based Visual Studio Solution Files – No more cryptic GUIDs – How to Manage from CLI

Comprehending the intricacies of a system often requires more than just deciphering the code itself. It also involves understanding the web of dependencies that are inextricably linked to it.

This includes navigating through solution files, project files, package references, static asset management, build configuration, and other related components.

With .NET going cross-platform, SDK-style projects have been introduced. The project files have been significantly simplified. They are now more comprehensible. Due to their XML-based nature, they can be easily modified using a basic text editor.

Nonetheless, the restructuring of the Visual Studio solution file is long overdue due to its intricate layout and obscure GUIDs.

Categories
.NET .NET 8 .NET 9 .NET MAUI Android Blazor C# Code Desktop Developer General Getting Started Hybrid iOS Learn macOS Mobile Tips Video Web Windows Xamarin Xamarin.Forms

Efficient Text Formatting in .NET MAUI with Label FormattedText

This is the fifth article in the recently started series titled Developer Tips, which offers concise hints to enhance productivity. All the articles in this series can be accessed from here.

A label in .NET MAUI is a simple yet powerful View that presents read-only text, like titles, captions, or descriptions.

The Text property holds the string to be displayed and is also bindable.

Categories
.NET .NET 9 .NET MAUI Android Blazor C# Code Desktop Developer Hybrid iOS Issue macOS Mobile Preview Quick Fix Web Windows

.NET MAUI 9 Preview 5 XAML Compilation Issue: Resolving Content Property Error

After the installation of .NET MAUI 9 Preview 5, an XAML compilation (XAMLC) issue has arisen.

In general, it is not necessary to explicitly specify the default property such as Content, Children, etc.

The Content is the default property for Page, View, and Toolkit’s Popup, and this XAMLC issue is about the Content property.

Categories
.NET .NET 8 .NET 9 .NET MAUI Android Automation Blazor C# Desktop Developer DevOps Extensions General Getting Started Hybrid iOS Mobile NuGet Templates Visual Studio VS Code Web What's New Windows Xamarin Xamarin.Forms

.NET MAUI All-in-One Templates Pack v5.6: NuGet CPM and Nightly Builds Support

Firstly, .NET MAUI 9 Preview 5 has just been released. The changelog can be found here. Notably, a new Blazor Hybrid Web template has been introduced in this version.

In short, this new template abstracts the Razor components into a distinct Razor Class Library (RCL). Furthermore, it provides the ability to create Blazor Web projects within the same solution and refers to the shared RCL.

The concept of abstracting the Razor components is already facilitated by the Hybrid project templates within the All-in-One template pack.

dotnet new mauiapp -o MyApp -dp Hybrid -rcl

Will review the modifications and cover them in a distinct article.

Categories
.NET .NET 8 .NET 9 .NET MAUI Android Blazor C# Code Desktop Developer General Hybrid iOS macOS Mobile Toolkit Web What's New Windows Xamarin Xamarin.Forms

Enhance Gesture Binding with the Shared Toolkit

The year 2024 began with an article outlining the improvements in the Shared Toolkit through the optimization of specifying the Binding as a LINQ expression, without requiring an additional getter or setter.

Mainly, the Binding expression is statically typed, providing better control by aiding in identifying errors during compilation. Furthermore, it preserves the default binding behavior of the View, such as the two-way binding in the case of Entry, enabling editing. This behavior can be modified using the BindingMode parameter.

Categories
.NET .NET MAUI Android Blazor C# Desktop Developer Events General Hybrid iOS macOS Mobile Standup VS Code Web Windows Xamarin Xamarin.Forms

Join Live: .NET MAUI Community Standup

The topic for this June month’s .NET MAUI community standup is VS Code Updates.

Of late, VS Code has incorporated many new features, such as XAML IntelliSense and Hot Reload, as the end of support for VS for Mac is quickly approaching (Aug 31, 2024).

Update: The community links for this month’s standup are here.

Refer to this article to start Using VS Code for .NET MAUI development.

David highlighted using MAUI Nightly Builds in the standup. Projects in the All-in-One templates pack already support utilizing the Nightly builds from version 4.6 onwards. However, setting up the package source from the CI feed involves a few manual steps as detailed in the earlier article.

But, automation is the need of the hour. The upcoming release of templates pack v5.6, scheduled for this week, will streamline the process by eliminating manual steps, ensuring seamless functionality when selecting the Nightly builds option upon project creation. Cool 😊.

Update: v5.6 has just been released. Consult this article for further details.

Remember to join live on Thu, Jun 6 at 17:00 UTCClick the link to access the timing in your local/preferred time zone. Note, it’s back at the same time.

Happy coding. Stay connected as we continue to learn and share the experiences from this exciting journey of being a .NET developer.

Categories
.NET .NET MAUI Android Blazor C# Desktop Developer Events General Hybrid iOS macOS Mobile Standup Web Windows Xamarin Xamarin.Forms

.NET MAUI CommunityĀ Standup

The topic for this month’s .NET MAUI community standup is so interesting, Testing your MAUI Apps ft. Gerald Versluis.

Remember to join live on Thu, Apr 4 at 17:00 UTCClick the link to access the timing in your local/preferred time zone. Note, it’s back at the same time.

Update: The community links for this month’s standup are here.

A clip from the recorded standup discussing the perplexing errors encountered during the testing of .NET MAUI Apps.

The All-in-One .NET MAUI App templates support this feature out of the box by incorporating the base framework TFM and conditionally configuring the OutputType property 😊.

.NET MAUI Project File - Base TFM and Conditional OutputType
.NET MAUI Project File – Base TFM and Conditional OutputType
dotnet new mauiapp -o MyApp

Happy coding. Stay connected as we continue to learn and share the experiences from this exciting journey of being a .NET developer.

Categories
.NET .NET 8 .NET 9 .NET MAUI Android Blazor C# Code Desktop Developer Getting Started Hybrid iOS Learn macOS Mobile Tips Web Windows Xamarin Xamarin.Forms

.NET MAUI – BindableLayout

This is the second article in the newly started series titled Developer Tips, which offers concise hints to enhance productivity. The inaugural article is about Margin and Padding. All the articles in this series can be accessed fromĀ here.

The BindableLayout functions as an item repeater, enabling an ILayout to interact with a data-bound IEnumerable.

Categories
.NET .NET 8 .NET 9 .NET MAUI Android Blazor C# Code Developer Getting Started Hybrid iOS Learn macOS Mobile Tips Web Windows

.NET MAUI – Margin and Padding

Starting a new series titled Developer Tips which offers small hints to enhance developer productivity. All the articles in this series can be accessed fromĀ here.

We’ll start with the Margin and Padding that effectively position the View.

Both the properties have been appropriately defined at the View level and are of the type Thickness, which is a structure that defines 4 important properties: Left, Top, Right, and Bottom.