VijayAnand.WinUITemplates
3.5.0
Prefix Reserved
dotnet new install VijayAnand.WinUITemplates::3.5.0
CLI Project and Item Templates for developing WinUI 3 based Windows Desktop Apps
Item | Template Name | Type |
---|---|---|
WinUI 3 App | winui | Project |
WinUI 3 Blazor App | winui-blazor | Project |
WinUI 3 Class Library | winuilib | Project |
WinUI 3 Page | winui-page | Item |
WinUI 3 UserControl | winui-usercontrol | Item |
WinUI 3 Window | winui-window | Item |
All the project templates takes the target framework as an input parameter, can be specified with --framework
/ -f
.
And the supported values are:
- net6.0
- net7.0
- net8.0 (the default value)
- net9.0
Note: The default value for the framework parameter remains as net8.0
(the latest stable channel), which means to create a project for .NET 9 (the preview channel), an explicit value of net9.0
is to be passed.
Starting with v3.1.0, all three project templates take the below optional parameter support NuGet's Central Package Management (CPM) feature.
-cpm
|--central-pkg-mgmt
- Default value isfalse
Note: This can also be used in combination with other options.
All these item templates require one mandatory parameter:
-n
|--name
- Name of the item
To install the template NuGet package, use the below .NET CLI command:
Latest stable version:
dotnet new install VijayAnand.WinUITemplates
If you've already installed this package, then it can be updated to the latest version with the below command:
dotnet new update --check-only
dotnet new update
Use the below .NET CLI command to create the projects out these template:
WinUI 3 App:
dotnet new winui -n MyApp
dotnet new winui -n MyApp -f net7.0
.NET 9 Preview:
dotnet new winui -n MyApp -f net9.0
Option to use the CPM feature:
dotnet new winui -n MyApp -cpm
Blazor Hybrid App:
dotnet new winui-blazor -n HybridApp
dotnet new winui-blazor -n HybridApp -f net7.0
.NET 9 Preview:
dotnet new winui-blazor -n HybridApp -f net9.0
Option to use the CPM feature:
dotnet new winui-blazor -n HybridApp -cpm
Library:
dotnet new winuilib -n MyLib
dotnet new winuilib -n MyLib -f net7.0
.NET 9 Preview:
dotnet new winuilib -n MyLib -f net9.0
Option to use the CPM feature:
dotnet new winuilib -n MyLib -cpm
All three project templates take the below optional parameter to include the officially supported CommunityToolkit.Mvvm NuGet package.
-imt
|--include-mvvm-toolkit
- Default value is false
dotnet new winui -n MyApp -imt
dotnet new winui-blazor -n HybridApp -imt
dotnet new winuilib -n MyLib -imt
Use the below .NET CLI command to create the items out these template:
Auto suffixing of the Type name is supported for the files created with the Page
and Window
item templates.
Page:
dotnet new winui-page -n Order
UserControl:
dotnet new winui-usercontrol -n CardView
Window:
dotnet new winui-window -n Home
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
3.5.0 | 208 | 9/17/2024 |
3.4.0 | 111 | 8/22/2024 |
3.3.0 | 140 | 6/26/2024 |
3.2.0 | 88 | 5/31/2024 |
3.1.0 | 866 | 2/22/2024 |
3.0.0 | 114 | 2/20/2024 |
2.2.0 | 620 | 1/28/2024 |
2.2.0-preview.4 | 2,580 | 10/13/2023 |
2.2.0-preview.3 | 74 | 9/21/2023 |
2.2.0-preview.2 | 91 | 3/30/2023 |
2.2.0-preview.1 | 88 | 3/30/2023 |
2.1.0 | 339 | 3/17/2023 |
2.0.0 | 109 | 3/2/2023 |
1.0.3 | 442 | 11/20/2022 |
1.0.2 | 442 | 11/15/2022 |
1.0.1 | 380 | 11/15/2022 |
Join me on Developer Thoughts (https://egvijayanand.in/), an exclusive blog for articles on .NET MAUI and Blazor.
What's new in ver. 3.5.0:
-------------------------
Frame-based navigation in the App project template.
The WindowsSdkPackageVersion property has been temporarily included to make use of the latest version of the MVVM toolkit.
v3.4.0:
1. Templates updated to support .NET 9 Preview 7 and the latest .NET 8 release.
2. Introduced an option to support the XML-based solution file (slnx) format.
This would be an explicit option since the SLNX feature is currently in the preview stage and is only supported on VS2022.
-slnx | --use-slnx - Default value is false
dotnet new winui -o MyApp -slnx
dotnet new winui-blazor -o HybridApp -slnx
dotnet new winuilib -o MyLib -slnx
v3.3.0:
Introduced using the NuGet CPM feature from within Visual Studio IDE.
Templates updated to support .NET 9 Preview 5 and the latest .NET 8 release.
Little housekeeping to make the templates even more reliable.
v3.2.0:
Templates updated to support .NET 9 Preview 4 and the latest .NET 8 release.
v3.1.0:
Introduced an option to support NuGet's Central Package Management (CPM) feature in the project templates.
-cpm | --central-pkg-mgmt - The default value is false.
Note: This can also be used in combination with other options.
dotnet new winui -o MyApp -cpm
dotnet new winui-blazor -o HybridApp -cpm
dotnet new winuilib -o MyLib -cpm
v3.0.0:
Templates updated for .NET 9 Preview 1.
For this, have introduced an additional option to the framework parameter - net9.0
Note: The default value for the framework parameter remains as net8.0, which means to create a project for .NET 9, an explicit value of net9.0 is to be passed.
dotnet new winui -n MyApp -f net9.0
dotnet new winui-blazor -n HybridApp -f net9.0
dotnet new winuilib -n MyLib -f net9.0
v2.2.0:
1. Templates updated for .NET MAUI stable version.
2. Auto-binding the project's RootNamespace as the namespace for newly created source files from item templates (Supported only on .NET 7 SDK or later).
3. Auto Suffix for the files created with the Page and Window item templates.
Ensure the project is restored before making use of the item templates.
dotnet new winui-page -n Order
dotnet new winui-window -n Home
v2.2.0-preview.4:
1. Templates updated to .NET 8 RC2
v2.2.0-preview.3:
1. Templates updated to .NET 8 RC1 changes
2. The default value for Framework parameter (--framework / -f) is now updated as net8.0
3. Explicit reference to .NET MAUI packages
4. Use of UseRidGraph node to indicate the change in RID behavior
https://learn.microsoft.com/en-us/dotnet/core/compatibility/sdk/8.0/rid-graph
v2.2.0-preview.2:
A maintenance release that addresses solution file issue.
v2.2.0-preview.1:
Added a project template for using Blazor Hybrid on WinUI 3 project using the .NET MAUI Native Embedding
Windows-target of .NET MAUI is nothing but WinUI 3 project
dotnet new winui-blazor -n MyApp
For .NET 8 Preview:
dotnet new winui-blazor -n MyApp -f net8.0
v2.1.0:
1. MVVM is a delightful and development-friendly design pattern to work with. To support this, a new parameter has been introduced in the App project template:
-mvvm | --use-mvvm and its default value is false.
dotnet new winui -n MyApp -mvvm
2. Microsoft.WindowsAppSDK NuGet package version has been made dynamic to pull the latest stable version in the 1.x series.
v2.0.0:
Templates updated to support .NET 8 Previews.
Supported values for target framework parameter, can be specified with --framework / -f
net6.0
net7.0 (the default value)
net8.0
Examples:
dotnet new winui -f net8.0 -o MyApp
dotnet new winuilib -f net8.0 -o MyLib
v1.0.3:
Little housekeeping to make it more reliable.
v1.0.2:
Added Item Templates for WinUI 3 Page, UserControl, and Window.
v1.0.1:
For CLI build to succeed, included the EnableMsixTooling property to the library project template.
v1.0.0:
Initial release of WinUI 3 App and Class Library Templates for CLI.