Xamarin.Forms Project and Item Templates for building native apps for iOS, Android, UWP, macOS, and Tizen from a single, shared C# codebase published as VS extension (VSIX).
Stay connected with my Developer Thoughts blog for more insights on Xamarin.Forms, .NET MAUI (an Evolution of Xamarin.Forms), and Blazor.
This VS extension is loaded with a Project template for creating a Xamarin.Forms Class Library.
This project template has the provision to optionally include the officially released Xamarin.Forms.Maps, Xamarin.CommunityToolkit, Xamarin.CommunityToolkit.Markup, Xamarin.Essentials, and CommunityToolkit.Mvvm (aka Microsoft MVVM Toolkit) NuGet packages.
And VijayAnand.Toolkit.Markup (aka Shared Toolkit) NuGet package.
And Item Templates for the following in the Add New Item
dialog:
Xamarin.Forms
section:
- Shell Page
- Resource Dictionary
- Resource Dictionary (XAML only)
Xamarin.Forms\All-in-One
sub-section:
- Generic Item
- Generic Item (C#)
This set of templates can also be installed from the CLI using the Forms Templates NuGet package.
Version History (latest on Top):
v1.9.0.0:
- Introduced an option to reference Xamarin.Forms.Maps NuGet package
- While using the generic item template, support for adding Xamarin Community Toolkit namespace while defining base types with that particular
xmlns
scope (xct)
v1.8.0.0:
- Introduced using the NuGet CPM feature from within Visual Studio IDE
v1.7.0.0:
- An innovative Xamarin.Forms generic item template, in XAML and C#, for creating items of any type from within Visual Studio 2022 IDE
- Both need one required input, the base type (select a value from the predefined ones or enter a value)
- Optionally takes another input, to specify the generic base type
- In addition, the XAML template takes one more input (xaml only), and when opted, generates only the XAML definition
- Note: Namespace resolution in both XAML and C# files is left to the user as deriving them with the template is outside its scope
- Tip: For the XAML template, pass the
xmlns
scope as part of the input parameter value and it'll be used appropriately in the generated source files
- Tip: Use
local
scope (a predefined scope in the template) to refer to the types in the same directory like Views
. For example, local:BasePage
v1.6.0.0:
v1.5.0.0:
- Introduced an option to add references to all supported NuGet packages as a unified option
- Option to add a reference to the Shared Toolkit NuGet package
v1.4.4.0:
- Package versions bumped to pull the latest stable version
v1.4.3.0:
- An item template for defining the Shell Page in C#
- Dependent NuGet package versions have been made dynamic to pull the latest stable version
- Xamarin.Forms - 5.0.0.x
- Xamarin.Essentials - 1.7.x
- Xamarin.CommunityToolkit - 2.0.x
- Xamarin.CommunityToolkit.Markup - 2.0.x
v1.4.2.0:
- Included an option to choose the library target framework during Xamarin.Forms class library creation.
- With the default value being
netstandard2.0
- And a little housekeeping to improve the reliability of the templates.
v1.4.0.0:
- Included an option to add reference
Xamarin.Essentials
NuGet package during Xamarin.Forms class library creation.
- Added new item templates for Forms Page and View in C#.
v1.2.1.0:
- Included the
IsExternalInit
class definition to the project template to make use of C# 9.0 features such as Records.
v1.2.0.0:
- Added the ability to reference CommunityToolkit.Mvvm (aka Microsoft MVVM Toolkit) NuGet package while creating the library project
v1.1.0.0:
- Updated release of the VS extension with the latest NuGet package dependencies
v1.0.0.0:
- Initial release of the VS extension