MAUI-GEN是基于模板的代码生成器,用于构建数据驱动的.NET MAUI应用程序所需的脚手架。然后,使用数据模式来描述所需的数据字段,然后,毛伊岛生成了模型,视图,查看模型和列表,编辑,详细页面,填充了编辑和读取模型中数据的表单元素,以及用于数据存储和检索的SQLLITE CRUD服务。 Maui-Gen还可以在需要的情况下创建支持文件和注入Singleton和路由数据。
将我的Xamarin应用程序之一移至毛伊岛后,我发现自己从头开始凝视,这意味着重新创建模型模型页面页面。我发现这很耗时,我确实通过创建模板来加快了过程,但这仅是一个凝视点,仍然必须编辑以适合要求。
因此,我决定为毛伊岛编写一种工具,以帮助节省毛伊数据输入表所需的时间写作的时间。我发现这是一个非常有用的工具,因此我决定将其放在那里供其他工具。
它不是漂亮或精美的,而是更多的概念证明。如果有兴趣,那么将考虑投资时间。
您可以将更改直接应用于.NET MAUI项目,但是在这一点上,我强烈建议仅在新创建的项目上执行此操作,以免它破坏您的艰苦工作或确保您的项目备份,因此可以恢复它。
在现有项目中使用自己的风险。
一个更安全的选项是将代码生成新文件夹,然后将文件复制。
您需要安装1.20 https://go.dev/doc/install
以下是您需要创建和构建.NET MAUI应用程序的工具。 MAUI应用程序加速器将安装所需的组件,例如Maui-Gen所需的毛伊岛社区工具套件。
以下是准备好使用毛伊岛的步骤。
go install github.com/Mrpye/maui-gen maui-gen init all 以下将带您认为执行所需的步骤,以便将毛伊岛基金的代码运行。
首先,您需要使用MAUI应用程序加速器在Visual Studio中创建一个新项目,这将安装所需的组件并为MAUI-GEN设置项目。









//<%REGISTER_ROUTE%>
public partial class AppShell : Shell
{
public AppShell ( )
{
InitializeComponent ( ) ;
//<%REGISTER_ROUTE%>
}
} //<%REGISTER_SINGLETON%
public static class MauiProgram {
public static MauiApp CreateMauiApp ( ) {
var builder = MauiApp . CreateBuilder ( ) ;
builder
. UseMauiApp < App ( )
. UseMauiCommunityToolkit ( )
. ConfigureFonts ( fonts = {
fonts . AddFont ( "OpenSans-Regular.ttf" , "OpenSansRegular" ) ;
fonts . AddFont ( "OpenSans-Semibold.ttf" , "OpenSansSemibold" ) ;
} ) ;
builder . Services . AddSingleton < MainViewModel ( ) ;
//<%REGISTER_SINGLETON%
builder . Services . AddSingleton < MainPage ( ) ;
return builder . Build ( ) ;
}
}笔记!确保它是所有代码所在的目录,请参见下文。

运行以下命令设置输出目录。这是毛伊岛将要输出代码到达的地方。
调整指向您项目的路径。
maui-gen set output " C:projectsNetDemoMauiAppDemoMauiApp "maui-gen set schema " C:Users[user].maui-genexamplesperson_and_pet.yaml "maui-gen set editmaui-gen nuget install --output [project_path]maui-gen nuget installSQLitePCLRaw.core
SQLitePCLRaw.bundle_green
SQLitePCLRaw.provider.sqlite3
SQLitePCLRaw.provider.dynamic_cdecl
SQLiteNetExtensions
SQLiteNetExtensions.Async
cd C: p rojects N et M auiGenDemoApp M auiGenDemoApp
dotnet add C: p rojects N et M auiGenDemoApp M auiGenDemoApp package SQLitePCLRaw.core
dotnet add package SQLitePCLRaw.bundle_green
dotnet add package SQLitePCLRaw.provider.sqlite3
dotnet add package SQLitePCLRaw.provider.dynamic_cdecl
dotnet add package SQLiteNetExtensions
dotnet add package SQLiteNetExtensions.Async您还可以更改数据模式文件中的名称空间
name_space : " DemoMauiApp "
resources :
- App
- Enums
- AppShell
- MauiProgram maui-gen build --namespace " [solution name] "
现在,您可以简单地运行该项目,应该看到。



Maui-Gen CLI文件
# Run maui-get to build template documents
maui-gen gen_docs您可以在此处找到生成的文档。
# Run maui-get to build template documents
maui-gen gen_template_docs您可以在此处找到生成的模板文档。



这只是概念的证明,看看是否会引起任何关注,如果这样做,我会花一些时间。
如果您确实使用它,我将有兴趣听到您对此的看法。
Maui-Gen是Apache 2.0许可。